Vous êtes sur la page 1sur 5

#include"stdio.

h"
#include "conio.h"
#include "math.h"
main(){
int lin,col,deter,op,i;
float MatA[3][3],MatB[3][3],soma[3][3],sub[3][3],prod[3][3],inver[3][3];
float B[3],X,Y,Z;
char fim;
fim = 'n';
//while(fim == 'n')
system("cls");
printf("Menu de opes.");
printf("\n=================");
printf("\n\n1:Soma de duas matrizes.");
printf("\n2:Subtrao de duas matrizes.");
printf("\n3:Produto de duas matrizes.");
printf("\n4:Determinante da matriz.");
printf("\n5:Clculo da inversa de uma matriz.");
printf("\n6:Clculo da Equao matricial AX=B.");
printf("\n7:Sair do Aplicativo.");
printf("\nDigite sua opo ->");
scanf("%d",&op);
switch(op){
case 1:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%d",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);
printf("\n\n");
}}
for (lin=0; lin<=2; lin++){
for (col=0; col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz B.",lin+1,col+1);
scanf("%f",&MatB[lin][col]);
}}
printf("Matriz B\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%d\t",MatB[lin][col]);
printf("\n\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
soma[lin][col]=MatA[lin][col]+MatB[lin][col];
}}
printf("\n\n A soma das matrizes A e B sao %d\n\n");
for (lin=0;lin<=2;lin++){

for (col=0;col<=2;col++){
printf("%d\t",soma[lin][col]);
}}
system("pause");}}
break;}
case 2:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%f",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);
printf("\n\n");
}}
for (lin=0; lin<=2; lin++){
for (col=0; col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz B.",lin+1,col+1);
scanf("%f",&MatB[lin][col]);
}}
printf("Matriz B\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%d\t",MatB[lin][col]);
printf("\n\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
sub[lin][col]=MatA[lin][col]-MatB[lin][col];
}}
printf("\n\n A subtrao das matrizes A e B sao %d\n\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%d\t",sub[lin][col]);
}}
system("pause");}}
break;}
case 3:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%f",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);
printf("\n\n");
}}

for (lin=0; lin<=2; lin++){


for (col=0; col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz B.",lin+1,col+1);
scanf("%f",&MatB[lin][col]);
}}
printf("Matriz B\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%d\t",MatB[lin][col]);
printf("\n\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
prod[lin][col]=MatA[lin][col]*MatB[lin][col];
}}
printf("\n\n A produto das matrizes A e B sao %d\n\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%d\t",prod[lin][col]);
}}
system("pause");}}
break;}
case 4:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%f",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);
printf("\n\n");
}}
deter=(MatA[0][0]*MatA[1][1]*MatA[2][2]+MatA[0][1]*MatA[1][2]*MatA[2][0]+MatA[0]
[2]*MatA[1][0]*MatA[2][1])
-(MatA[0][2]*MatA[1][1]*MatA[2][0]+MatA[0][0]*MatA[1][2]*MatA[2][1]+MatA[0]
[1]*MatA[1][0]*MatA[2][2]);
printf("\n\n A determinante da matrizes A e %d\n",deter);
system("pause");
break;}
case 5:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%f",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);

printf("\n\n");
}}
deter=(MatA[0][0]*MatA[1][1]*MatA[2][2]+MatA[0][1]*MatA[1][2]*MatA[2][0]+MatA[0]
[2]*MatA[1][0]*MatA[2][1])
-(MatA[0][2]*MatA[1][1]*MatA[2][0]+MatA[0][0]*MatA[1][2]*MatA[2][1]+MatA[0]
[1]*MatA[1][0]*MatA[2][2]);
printf("\n\n A determinante da matrizes A e %d\n",deter);
if(deter!=0){
inver[lin][col]=(((MatA[1][1]*MatA[2][2])-(MatA[1][2]*MatA[2][1])*1)/deter),(((MatA[0]
[1]*MatA[2][2])-(MatA[0][2]*MatA[2][1])*-1)/deter),
(((MatA[0][1]*MatA[1][2])-(MatA[0][2]*MatA[1][1])*1)/deter),(((MatA[1][0]*MatA[2][2])(MatA[1][2]*MatA[2][0])*-1)/deter),
(((MatA[0][0]*MatA[2][2])-(MatA[0][2]*MatA[2][0])*1)/deter),(((MatA[0][1]*MatA[1][2])(MatA[0][2]*MatA[1][1])*-1)/deter),
(((MatA[1][0]*MatA[2][1])-(MatA[1][1]*MatA[2][0])*1)/deter),(((MatA[0][0]*MatA[2][1])(MatA[0][1]*MatA[2][0])*-1)/deter),
(((MatA[0][0]*MatA[1][1])-(MatA[0][1]*MatA[1][0])*1)/deter);
printf("Matriz inversa e\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",inver[lin][col]);
printf("\n\n");
}}
}else
printf("Nao ah inversa da matriz.");
system("pause");
break;}
case 6:{
system("cls");
for(lin=0;lin<=2;lin++){
for(col=0;col<=2;col++){
printf("\nEntre com alinha%d ea coluna%d da matriz A.",lin+1,col+1);
scanf("%f",&MatA[lin][col]);
}}
printf("Matriz A\n");
for (lin=0;lin<=2;lin++){
for (col=0;col<=2;col++){
printf("%f\t",MatA[lin][col]);
printf("\n\n");
}}
for(i=0;i<=2;i++){
printf("\nEntre com B%d:",i+1);
scanf("%f",&B[i]);
}
printf("B\n");
for (i=0;i<=2;i++){
printf("%f",B[i]);
printf("\n");
}
deter=(MatA[0][0]*MatA[1][1]*MatA[2][2]+MatA[0][1]*MatA[1][2]*MatA[2][0]+MatA[0]
[2]*MatA[1][0]*MatA[2][1])
-(MatA[0][2]*MatA[1][1]*MatA[2][0]+MatA[0][0]*MatA[1][2]*MatA[2][1]+MatA[0]

[1]*MatA[1][0]*MatA[2][2]);
if(deter!=0){
inver[lin][col]=(((MatA[1][1]*MatA[2][2])-(MatA[1][2]*MatA[2][1])*1)/deter),(((MatA[0]
[1]*MatA[2][2])-(MatA[0][2]*MatA[2][1])*-1)/deter),
(((MatA[0][1]*MatA[1][2])-(MatA[0][2]*MatA[1][1])*1)/deter),(((MatA[1][0]*MatA[2][2])(MatA[1][2]*MatA[2][0])*-1)/deter),
(((MatA[0][0]*MatA[2][2])-(MatA[0][2]*MatA[2][0])*1)/deter),(((MatA[0][1]*MatA[1][2])(MatA[0][2]*MatA[1][1])*-1)/deter),
(((MatA[1][0]*MatA[2][1])-(MatA[1][1]*MatA[2][0])*1)/deter),(((MatA[0][0]*MatA[2][1])(MatA[0][1]*MatA[2][0])*-1)/deter),
(((MatA[0][0]*MatA[1][1])-(MatA[0][1]*MatA[1][0])*1)/deter);
X=(inver[0][0]*B[0]+inver[0][1]*B[1]+inver[0][2]*B[2]);
Y=(inver[1][0]*B[0]+inver[1][1]*B[1]+inver[1][2]*B[2]);
Z=(inver[2][0]*B[0]+inver[2][1]*B[1]+inver[2][2]*B[2]);
printf("O valor de X e;%d\n",X);
printf("O valor de Y e;%d\n",Y);
printf("O valor de Z e;%d\n",Z);
}else
printf("Nao ah inversa da matriz.");
system("pause");
break;}
case 7:{
printf("Termina Aplicativo? (S/N):");
fim = getche();
break;}
default:
printf("Apenas numeros de 1 a 7");
system("pause");
break;}
printf("\n\nAplicativo Encerrado!\n\n");
system("pause");
}

Vous aimerez peut-être aussi