The code does not print the highest value of the array entered by the user
#include<stdio.h>
#include<locale.h>
int main(void){
setlocale(LC_ALL, "");
int n, m, o=0, posic, posic1;
int matriz[n][m];
int lin, col, maior=0, x=0;
printf("Para usar o programa, digite as dimensões da matriz desejada.\n");
printf("Digite a dimensão das linhas: ");
scanf("%i", &n);
printf("Digite a dimensão das colunas: ");
scanf("%i", &m);
printf("Agora digite os elementos dessa matriz %ix%i: \n", n, m);
for(lin=0;lin<n;lin++){
for(col=0;col<m;col++){
scanf("%i", &matriz[n][m]);
}
}
for(lin=0;lin<n;lin++){
for(col=0;col<m;col++){
if(maior < matriz[lin][col]){
maior = matriz[lin][col];
}
}
printf("O maior elemento da linha %i é: %i\t", 1+o, maior);
printf("Ele está localizado na coluna %i!\n", lin);
o++;
}
}
I've debugged the program and the first time it passes through the 'for' variable the 'bigger' variable gets 'garbage in memory' so the 'if' command becomes useless on the other loops.
for(lin=0;lin<n;lin++){
for(col=0;col<m;col++){
if(maior < matriz[lin][col]){
maior = matriz[lin][col];
It was to inform the value of 6 in the first line and the value of 8 in the second.