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;
}