22 de abril de 2010

Matriz identidade em C

Pela definição, matriz identidade é uma matriz quadrada e diagonal. Cada posição da matriz onde i=j será igual a 1, e as posições da matriz onde i != j serão iguais a 0.
Abaixo, vai a implementação:

#include <stdio.h>
#define MAX 21

int main()
{
    int matriz[MAX][MAX];
    int i,j;
    int ordem;

    printf("Entre com a ordem da matriz (ate 20):");
    scanf("%d",&ordem);

    if(ordem < MAX)
    {
        /*atribuindo os valores para a matriz*/
        for(i=0;i<ordem;i++)
        {
            for(j=0;j<ordem;j++)
            {
                if(i!=j)
                {
                    matriz[i][j] = 0;
                }
                if(i == j)
                {
                    matriz[i][j] = 1;
                }
            }
        }

        /*Imprimindo a matriz*/
        for(i=0;i<ordem;i++)
        {
            for(j=0;j<ordem;j++)
            {
                printf("%d ",matriz[i][j]);
            }
            printf("\n");
        }
    }

    return 0;
}


Um comentário: