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

Matriz Identidade C


SouzaTI

Pergunta

Galera preciso fazer esse exercico Ler uma matriz bidimensional quadrada (3x3) do tipo inteiro

e descobrir se a matriz é ou não identidade, mostrando a matriz lida, a identidade e resposta

não esta dando certo a formula da matriz identidade, se alguém puder me ajudar

#include <stdio.h>
#include <stdlib.h>
main()
{
    int a[3][3], lin, col, x;
    for (lin=0;lin<3;lin++)
    {
        for (col=0;col<3;col++)
        {
            printf ("Digite os valores da matriz, Linha [%d] Coluna [%d]: ",lin+1,col+1);
            scanf ("%d",&a[lin][col]);
        }
        system("cls");
    }
    system("cls");
    printf ("Matriz Lida:\n");
    for (lin=0;lin<3;lin++)
    {
        for(col=0;col<3;col++)
        {
            printf("\t[%d]", a[lin][col]);
        }
        printf ("\n");
    }
    printf ("\nResposta:\n");
    for (lin=0;lin<3;lin++)
    {
        for (col=0;col<3;col++)
        {
            if (a[lin][col]==2)
        {
            printf ("\tA Matriz %c identidade",130);
        }
        else
        {
            printf ("\tA matriz não %c identidade",130);
        }
        }
    }
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 1

Aqui deu certo, olha o código que testei aqui:

int main(void)
{
    int lin, col, a[3][3]={{1,0,0},{0,1,0},{0,0,1}};
    
  for (lin=0;lin<3;lin++)
    {
        for (col=0;col<3;col++)
        {
             if((lin != col && a[lin][col] != 0) || (lin==col && a[lin][col]!=1))
             {
                 printf("Não e matriz identidade");
                 break;
             }
        }
}
}

Você tá inicializando a matriz corretamente? Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi essa logica sua

if (a[lin][col]==2)
        {
            printf ("\tA Matriz %c identidade",130);
        }
A matriz identidade é dessa forma: 1 0 0 0 1 0 0 0 1 Tenta assim:
for (lin=0;lin<3;lin++)
    {
        for (col=0;col<3;col++)
        {
             if((lin != col && a[lin][col] != 0) || (lin==col && a[lin][col]!=1))
             {
                 printf("Não e matriz identidade");
                 break;
             }
        }
}

Não testei o código, fiz de cabeça. Qualquer coisa posta ai.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...