Ciao a tutti!!!
Ho un problemino con le matrici in C!
Data una matrice devo fare la somma delle colonne e delle righe una per una e devo mettere i risultati in un vettore per poi confrontarli!
Chi sa dirmi come fare???
Grazie !!
Ciao a tutti!!!
Ho un problemino con le matrici in C!
Data una matrice devo fare la somma delle colonne e delle righe una per una e devo mettere i risultati in un vettore per poi confrontarli!
Chi sa dirmi come fare???
Grazie !!
allora,
se tu hai una matrice m x n
puoi sommare righe e colonne facilmente
esempio:
int tot=0
for(i=0;i<m;i++)tot+=v[i][0];
cosi' hai la somma della prima riga(o colonna dipende da come immagazini il dato..)
se lo metti in un ciclo e a tot sostituisci tot[j] riempirai un vettore..
stessa cosa per le colonne..
![]()
so' farlo ma voglio che ti sforzi un po' tu perche'
altrimenti non impari se ti fanno tutto gli altri..![]()
Hai ragione! Ma il problema sono solo le diagonali della matrice quadrata!! Per le righe e per le colonne non cè problema!![]()
Grazie mille, se puoi risp!
Spiegati, devi trovare la somma di una diagonale qualsiasi? O solo di quelle principali?
Trovi anche qualche info utile su una discussione riguardante il problema delle 8 regine... cerca
I've got a bike. You can ride it if you like.
no io devo fare la somma degli elementi di ogni colonna e di ogni riga ma tenerli separate! poi devo fare la somma degli elementi delle diagonali principali !!! Se le somme sono tutte uguali allora la matrice è OK altrimenti è non OK!
Mi sono spiegato meglio?
devi verificare se è una di quelle matrici particolari...di Jacobi o qualcuno del genere vero?Comunque la somma degli elementi della diagonale principale la fai semplicemente con un ciclo for che va da 0 a n (se n è l'ordine della matrice) in cui sommi ad una variabile somma (che hai preventivamente inizializzato a zero,prima del for) i valori matrice[i][i],una cosa tipo:Originariamente inviato da Fabiuz
no io devo fare la somma degli elementi di ogni colonna e di ogni riga ma tenerli separate! poi devo fare la somma degli elementi delle diagonali principali !!! Se le somme sono tutte uguali allora la matrice è OK altrimenti è non OK!
Mi sono spiegato meglio?
per l'altra diagonale se ci pensi basta sostituire matrice[i][i] con matrice[n-i-1][n-i-1];codice:int somma =0; for (i = 0.....n) somma += matrice[i][i];
Ciao
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
questo è il codice parziale per le righe! :
int M(int matrice[][MAX_DIM], int dim)
{
int b[12]={0};
int s,somma=0;
int i,j,y;
for(i=0; i<=dim-1; i++){
somma+=matrice[i][0]; b[y]=somma;}
Ho un dubbio enorme : mi immagazzina la somma di ogni riga sul vettore b[y]??????
Mmmmmhhh,mi sa che stai ragionando poco...il mio consiglio è di fare per gradiOriginariamente inviato da Fabiuz
questo è il codice parziale per le righe! :
int M(int matrice[][MAX_DIM], int dim)
{
int b[12]={0};
int s,somma=0;
int i,j,y;
for(i=0; i<=dim-1; i++){
somma+=matrice[i][0]; b[y]=somma;}
Ho un dubbio enorme : mi immagazzina la somma di ogni riga sul vettore b[y]??????rima prova a calcolare solo la somma degli elementi della PRIMA riga e salvarli in una variabile somma,mi posti il codice e poi ne riparliamo.
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
ma scusa per fare la somma di una sola riga devo includere anche l'indice di colonna?
Rispondi, Grazie![]()