Ir para conteúdo
Fórum Script Brasil
  • 0

Exercício de Matriz em C


Lucasf10

Pergunta

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;
}
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não entendo para que você quer a variável MaiorValor.

Dentro do else você deveria ter um while que só permita a saída uma vez que o numero foi corretamente tomado, porem não entendo sua lógica. Ou seja.. O que tem que ver MaiorValor com ler números negativos? =/

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...