Esercizio matrice

di il
2 risposte

Esercizio matrice

Costruire una matrice 6x7 di numeri random da 0 a 10 e aggiungere una colonna che contiene la media dei valori di ogni riga , quindi a[0][7] conterrà la media di tutti i valori sulla riga a[0].
Questo è il codice :

#include <stdio.h>
#include <time.h>
#define R 7
#define C 8

int main(){
    int a[R][C];
    int i,j,s=0;
    srand(time(NULL));

    for(i=0;i<R;i++){                        // creazione della matrice di numeri random //
            for(j=0;j<C;j++){
                a[i][j]=rand()%11;
            }
    }
    for(i=0;i<R;i++){                  // aggiusto l'ultima colonna sostituendo i valori casuali con i valori voluti //
        for(j=0;j<7;j++){
        s=s+a[i][j];}
        a[i][8]=(s/7);
        s=0;
    }
    for(i=0;i<R;i++){
            for(j=0;j<C;j++){
                printf("%d ",a[i][j]);
            }
            printf("\n");
    }
}

C'è un problema nella fase di sostituzione dei valori , che di fatto non vengono sostituiti
Cosa mi sto perdendo ?

2 Risposte

  • Re: Esercizio matrice

    Quando definisci un array , ad esemopio arrray[8], puoi accedere con indici da 0 a 7. Se scrivi in array[8] sfondi e sovrascrivi qualche altra variabile nello stack, forse i.

    Qundi cambia
     a[i][8]=(s/7);
    in
     a[i][7]=(s/7);
  • Re: Esercizio matrice

    Si è vero che sbadato , ora funziona grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte