Logo Hardware.com.br
itstalisson
itstalisson Novo Membro Registrado
1 Mensagem 0 Curtidas

Encontrar maior e menor número em uma matriz.

#1 Por itstalisson 30/06/2021 - 14:34
Preciso encontrar o maior e menor numero de uma matriz, consegui fazer ela com numeros aleatorios e no formato correspondente
mas nao consigo fazer o maior e menor valor, alguem consegue me ajudar?
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main() {

int i, j, maior, linha, mat[4][4] = {0,0,0,0,0,0,0,0,0};

srand(time(NULL));

for(i = 0; i < 4; i++){
for(j = 0; j < 4; j++){
mat[i][j] = rand() %1000;
}
}
for(i = 0; i < 4; i++){
for(j = 0; j < 4; j++)
if(i == 0){
maior = mat1[i][j];
}
if(mat1[i][j] > maior){
maior = mat[i][j];
linha = i;
}
printf("%5d ", mat[i][j]);
printf("\n&quot;
}


return 0;
}
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#2 Por esquiloesper...
30/06/2021 - 17:38
O primeiro loop aninhado (i,j) está correto e preenche corretamente a matriz.

Mas o segundo que deve apurar o maior e menor faltou você definir o escopo (as chaves) do segundo for "j", e por isso a única coisa que ele faz é inserir o último valor da linha 'i' na variável 'maior'. Correto seria filtrar também e inserir o maior valor dessa linha, não todos um por um.
O segundo 'IF' acaba por atender apenas a variável 'i' e causar erro de estouro de pilha em 'j'.
- Tudo isso pela falta de uma simples chave...

Dica: para obter maior e menor aplique IF / ELSE ao invés de apenas 'if'.

Observe que por duas vezes caiu de paraquedas uma variável "mat1" (que não existe) mas aparece onde deveria ser "mat".
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal