Ciao a tutti! Ho sviluppato un programma che data in input una matrice quadrata restituisce l'indice di riga e di colonna dell'elemento massimo e dell'elemento minimo.
Solo che non funziona sempre, mi aiutate a capire dov'è l'errore logico?
codice:#include<stdio.h> int main() { int M[10][10],i,j,r,c; printf("Quante righe e quante colonne vuoi?\n"); scanf("%d",&r); c=r; for(i=0;i<r;i++){ for(j=0;j<c;j++){ printf("Inserisci l'elemento di riga %d e di colonna %d: \n",i,j); scanf("%d",&M[i][j]); } } printf("L'elemento massimo della matrice si trova in riga %d e colonna %d\n",IndMaxR(r,c,M),IndMaxC(r,c,M)); printf("L'elemento minimo della matrice si trova in riga %d e colonna %d\n",IndMinR(r,c,M),IndMinC(r,c,M)); return 0; } int IndMaxR(int righe, int colonne, int Matrice[][10]) { int i,j,massimo,max; massimo = Matrice[0][0]; max=0; for(i=0;i<righe;i++){ for(j=0;j<colonne;j++){ if(Matrice[i][j] > massimo) max = i; } } return max; } int IndMaxC(int righe, int colonne, int Matrice[][10]) { int i,j,massimo,max; massimo = Matrice[0][0]; max=0; for(i=0;i<righe;i++){ for(j=0;j<colonne;j++){ if(Matrice[i][j] > massimo) max = j; } } return max; } int IndMinR(int righe, int colonne, int Matrice[][10]) { int i,j,minimo,min; minimo = Matrice[0][0]; min=0; for(i=0;i<righe;i++){ for(j=0;j<colonne;j++){ if(Matrice[i][j] < minimo) min = i; } } return min; } int IndMinC(int righe, int colonne, int Matrice[][10]) { int i,j,minimo,min; minimo = Matrice[0][0]; min=0; for(i=0;i<righe;i++){ for(j=0;j<colonne;j++){ if(Matrice[i][j] < minimo) min = j; } } return min; }

Rispondi quotando