Olá, sou estudante de Ciência da Computação e atualmente estou no segundo período do curso.Estou aprendendo a mexer com matrizes em C e meu professor passou o seguinte exercício:Escrever um programa em C que crie uma Matriz Diagonal somente com reais negativos de ordem 10 x 10 com valores lidos do usuário e exiba a posição na matriz [Linha Coluna] do maior dos elementos.Consegui fazer o programa na primeira tentativa, porém depois ao aplicar a restrição de somente aceitar números abaixo de 0, me deparei com um problema. Já quebrei a cabeça e não consigo achar o meu erro, mas tenho certeza que é algo bobo, espero contar com a ajuda de vocês. Grato. Meu código: #include <stdio.h>
#include <stdlib.h>
#define tam 3
int main()
{
int matriz[tam][tam], i = 0, j = 0, iMaior = 0, jMaior = 0, MaiorValor;
while(i < tam){
j = 0;
while(j < tam){
if(i == j){
printf("Digite o valor da posicao [%i][%i]: ", i, j);
scanf("%i", &matriz[i][j]);
if(matriz[i][j] < 0){
if(i == 0 && j == 0){
MaiorValor = matriz[i][j];
}
else{
if(matriz[i][j] > MaiorValor){
MaiorValor = matriz[i][j];
iMaior = i;
jMaior = j;
}
}
j++;
}
else{
printf("ERRO! \n");
}
}
}
i++;
}
printf("Maior numero é: %i e esta na pos [%i][%i]", MaiorValor, iMaior, jMaior);
return 0;
}