Ir ao conteúdo
  • Cadastre-se

C Erro Lógico em C


ArieviloAgarf

Posts recomendados

#include <stdio.h>
 int main(void)
{
   int matB[4][4];
   int simetrica = 1;
   int i, j;
   printf("\nInforme o tamanho da Matriz:\n");
   
   for (i = 0; i < 4; i++){
      
        for (j = 0; j < 4; j++)
        {
            scanf("%d", &matB[j]);
         }
      }
   printf("\nA Matriz Informada eh:\n");   
   for (i = 0; i < 4; i++){
         
         for (j = 0; j < 4; j++){
             
                 if (matB[j] != matB[j])
                          
                 printf("%d ", matB[j]);
       }
       printf("\n");
   }
   if (simetrica == 1)
   {
          printf("\nMatriz Nao Simetrica\n");
     }
    else  
   {
        if (simetrica == 0)
        {
           printf("\nMatriz  Simetrica");
       
        }
     }
    return 0;
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@ArieviloAgarf    @ArieviloAgarf        para postar seu código é melhor usar o botão   <>   que está lá na barra de ferramentas da janela de responder pois senão seu código fica faltando alguns caracteres como os  [ i ]  que sumiram do seu código ,   e seu  código está funcionando bem , mas o que ele deveria fazer  ?  .

Link para o comentário
Compartilhar em outros sites

Olá, tudo bem? Então ...

 

Bem mais que somente o C, você também diz uma coisa e faz outra coisa.

 

Já disseram um dia que propaganda enganosa é crime. Pois é se diz que vai fazer uma coisa, pois então: Faça!


    printf("Informe o tamanho da Matriz? ");
    for (i =  0; i < 4; ++ i)
        for (j =  0; j < 4; ++ j)
            {
            scanf (" %d", &matB[j]);
            }

A mensagem diz uma coisa, mas o algoritmo faz outra coisa totalmente diferente e de maneira errada para aquilo que parece ser a proposta do código. Que sem sombra de dúvida não é nada de tamanho da matriz.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

beleza Galera. Olha, estou pedindo ajuda é poque eu não sei. Estou começando a aprender,então é natura haver erros e má interpretação.

 

Quero a ajuda para corrigir o que está errado.

 

Abaixo o Enunciado.

Desenvolver um programa em C que leia

uma matriz MxN quadrada e determin

e

se a mesma é simétrica.

Deverá imprimir a matriz lida e informar se é ou não simétrica.

Uma matriz M quadrada e

simétrica é quando M[i,j] = M[j,i], ou seja:

 

adicionado 1 minuto depois

Desenvolver um programa em C que leia

uma matriz MxN quadrada e determin

e

se a mesma é simétrica.

Deverá imprimir a matriz lida e informar se é ou não simétrica.

Uma matriz M quadrada e

simétrica é quando M[i,j] = M[j,i], ou seja:

  • Amei 1
Link para o comentário
Compartilhar em outros sites

 

Veja bem:

17 horas atrás, ArieviloAgarf disse:

Desenvolver um programa em C que leia uma matriz MxN quadrada e determine se a mesma é simétrica.

Deverá imprimir a matriz lida e informar se é ou não simétrica. Uma matriz M quadrada e simétrica é quando M[i,j] = M[j,i]

 

Essa parte em destaque lembra-nos o fragmento do meu post anterior.

 

 

"leia uma matriz MxN quadrada"

  1. Como fazer o programa reservar memória para qualquer matriz quadrada?
  2. Como se saber, a partir das dimensões ( MxN ), se a matriz é quadrada ou não é quadrada?
  3. Quando a matriz é quadrada.

 

Tem que estudar:

  • Alocação dinâmica e estática de vetores.
  • Estruturas de repetição.
  • Estruturas de decisão.
  • Funções padrões de entrada e saída.
  • Comentário: Esse é muito importante, pois fornecem um pouco do raciocínio do programa.

 

Daí se faz algo parecido com isso:

    int M, N;  /**< memória para o número de linhas, e colunas */
   
    printf( "Informe o tamanho da matriz MxN\n" );
    puts( "" ); /**< no prompt salta uma linha */
    printf( "   Numero de linhas =  " );
    scanf( " %d", &M );

    puts( "" ); /**< no prompt salta uma linha */
    printf( "   Numero de colunas =  " );
    scanf( " %d", &N );

    /** Teste da Matriz Quadrada
            
            Se a matriz tem o mesmo número de linhas e colunas; É quadrada.
            Se diferente então finaliza o programa.
    */
    if( M != N )  
        {/* M DIFERENTE N? Se SIM então...            */
        return 0;  /**< Esse return: finalizará o programa */
        }

    /* Se o programa não é finalizado; podemos criar a matriz de tamanho 
       definido pelo usuário. */
    int matriz_quadrada[ M ][ N ];  /* Pesquise Google: VLA */

Essa parte é crítica, matematicamente, para o problema porque toda matriz simétrica é obrigatoriamente quadrada.

 

UPDATE:

Fórum é um local de discussão de aprimoramento das experiencias.

 

Os professores são pagos para ensinar, se você não aprendeu, estão te devendo. Estou supondo que você faz algum curso com essa matéria.

 

Não se trata de má vontade, e sim que um fórum não é a sala de aula, mesmo isso sendo bem obvio, agente acaba por achar que vindo aqui com pouco ou nenhuma base, ter um trabalho corrigido, é o bastante para se aprender. ISSO É IMPOSSÍVEL! A única pessoa que se beneficia deste método é o corretor, o corrigido não aprende nada. A se fosse assim tão fácil ensinar, todo mundo seria professor. Ensinar é para profissionais muito bem formados, peritos na pedagogia, psicologia, neurociência e sociologia que exercem sua profissão precisamente em uma local de múltipla interatividade, escola.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...