[linguaggio C] matrici

di il
6 risposte

[linguaggio C] matrici

Salve a tutti, ho un problema con le matrici. ho una matrice a doppia dimensione e un vettore formato in questo modo: v = (2,3,1,2,2,1,1,2,2,1).
le prime due posizioni del vettore sono le righe e le colonne della matrice, mentre il resto della sequenza sono coppie (x,y) e io devo inserire nella matrice il numero y, x volte. spero di essere stato chiaro e di venirne a capo.

6 Risposte

  • Re: [linguaggio C] matrici

    E quale e' il problema?

    Attenzione: se speri che qualcuno ti faccia l'esercizio, caschi male
  • Re: [linguaggio C] matrici

    No assolutamente, non spero che qualcuno mi faccia l'esercizio. cerco solo di capire come fare ad inserire nella matrice x volte y.
  • Re: [linguaggio C] matrici

    Ottieni righe e colonne in due variabili per comodità

    r=vet[0];
    c=vet[1];

    Dimensiona la matrice dinamicamente in base al valore di righe e colonne

    Imposta il/ ciclo/i in maniera opportuna per leggere dal vettore e inserire i dati nella matrice.
  • Re: [linguaggio C] matrici

    Si a quello ci avevo già pensato, il problema è come "giocare" con gli indici. nel senso come faccio a inserire y tante volte quanto è x mentre i < righe e j < colonne?
  • Re: [linguaggio C] matrici

    
    #include <stdlib.h>
    #include <stdio.h>
    #define DIM 10
    
    
    
    int main()
    {
    	int riga = 0;
    	int colonna = 0;
    	int matrice[riga][colonna];
    	int elenco[DIM];
    	int i;
    	int j;
    	int x;
    	int y;
    	int k;
    
    	i = 0;
    	while(i < DIM){
    		scanf("%d", &elenco[i]);
    		i++;
    	}
    	riga = elenco[0];
    	colonna = elenco[1];
    	x = elenco[2];
    	y = elenco[3];
    
    	i = 0;
    	while(i < riga){
    		j = 0;
    		while(j < colonna){
    			k = 2;
    			while(k < DIM){
    				while(x > 0){
    					matrice[i][j] = elenco[y];
    					x--;
    				}
    				x = elenco[x] + 2;
    				y = elenco[y] + 2;
    				k++;
    			}
    			j++;
    		}
    		i++;
    	}
    
    
    	 i = 0;
    	 while(i < riga){
    		 j = 0;
    		 while(j < colonna){
    			 printf("%d", matrice[i][j]);
    			 j++;
    		 }
    		 printf("\n");
    		 i++;
    	 }
    
    
    	return EXIT_SUCCESS;
    }
    
  • Re: [linguaggio C] matrici

    Questo è il codice che sono riiuscito a pensare, solo che non capisco dov'è l'errore, perchè se metto in input il vettore V= (2,3,1,2,2,1,1,2,2,1) dovrebbe uscire una matrice del tipo:
    211
    211

    invece mi stampa questo risultato:
    222
    222
Devi accedere o registrarti per scrivere nel forum
6 risposte