Jump to content

Menu com dois submenus sobre matriz e vetor


Stephaniedaitx
 Share

Recommended Posts

Stephaniedaitx

A questão é a seguinte: Contruir um menu onde:

1. Vetor

2.Matriz

3.Sair

Se escolher 1

1.1Produto escalar

1.2Personalizado

1.3Voltar menu principal

Se escolher 2

2.1Soma de matrizes

2.2Multiplicação de matrizes

2.3Determinante ordem 2

2.4Determinante ordem 3

2.5Voltar menu principal

Conseguimos até o código abaixo: Gostaria que dessem uma olhada e vissem o que precisa ser corrigido e dar uma ajuda no que temos que arrumar e esta por fazer

//Projeto de Algoritmos GB

#include<stdio.h>
#include<math.h>
# define elemento 5

main()

{int opcao,opcao1,opcao2, vetor[5], posicao;
int matrizA [3][3], matrizB[3][3],matrizresultado[3][3], linha, coluna;
int linha,coluna,coluna1, matriz1[3][3],matriz2[3][3], matriz3[3][3];
int determinante2, matriz[2][2],linha, coluna;
int determinante3, matriz[3][3],linha, coluna;
int tamanho,vetor1[elemento],vetor2[elemento],produtoescalar,soma,posicao;




printf("\n\tBoas Vindas!");
printf("\n\tProjeto Grau B");
printf("\n\tDesenvolvido por Vanessa Machado Babinski Ramos e Stephanie Daitx");
printf("\n\n");
system("pause");
system("cls");


do{

printf("\t\tMENU PRINCIPAL:\n");
printf("\n\t1-Vetor");
printf("\n\t2-Matriz");
printf("\n\t3-Sair");

printf("\n\t4-Opcao:");

scanf("%d",&opcao);

switch(opcao)

{case 1:printf("\n\n\tVETOR\n");
       printf("\n\nInforme 5 numeros inteiros para o vetor:\t");

for(posicao=0;posicao<=4;posicao++)
{
printf("\nVetor[%d]=", posicao);
scanf("%d", &vetor[posicao]);
}
       printf("\n\nEscolha uma opcao abaixo.\n\n");


do{

printf("\n\t1.1-Produto Escalar");
printf("\n\t1.2-Personalizado");
printf("\n\t1.3-Voltar");

printf("\n\t1.4-Opcao:");

scanf("%d",&opcao1);

switch(opcao1)

{case 1:printf("\n\n\tProduto Escalar\n");

printf("Informe os valores do vetor 1:");
for(posicao=0;posicao<=elemento;posicao++)

{printf("\nVetor 1[%d]=",posicao);
scanf("%d",&vetor1[posicao]);
}

printf("\n\n\t\tDados armazenados no vetor 1:\n");

for(posicao=0;posicao<=elemento;posicao++)
{
printf("%d\t", vetor1[posicao]);
}

printf("\n\nInforme os valores do vetor 2:");
for(posicao=0;posicao<=elemento;posicao++)

{printf("\nVetor 2[%d]=",posicao);
scanf("%d",&vetor2[posicao]);
}

printf("\n\n\t\tDados armazenados no vetor 2:\n");

for(posicao=0;posicao<=elemento;posicao++)
{
printf("%d\t", vetor2[posicao]);
}


soma=0;
for(posicao=0;posicao<=elemento;posicao++)

{
soma=soma+(vetor1[posicao]*vetor2[posicao]);
}

printf("\nO Produto Escalar dos dois vetores eh:%d\n",soma);

for(posicao=0;posicao<=elemento;posicao++)

{if(soma==0)
{
printf("\nOs Vetores São Ortogonais!\n");
}
else
{
printf("\nOs Vetores não são Ortogonais!\n");
}
}
}

break;



case 2:printf("\n\n\tPersonalizado\n");
      printf("\n\nEscolha uma opcao abaixo.\n\n");

//CONTA DO PERSONALIZADO

break;

case 3: // VOLTAR AO MENU INICIAL!

break;

}

case 2: printf("\n\n\tMATRIZ\n");

printf("\n\nEscolha uma opcao abaixo.\n\n");


do{

printf("\n\t2.1-Soma de Matrizes");
printf("\n\t2.2-Multiplicacao de Matrizes");
printf("\n\t2.3-Determinante de Ordem 2");
printf("\n\t2.4-Determinante de Ordem 3");
printf("\n\t2.5-Voltar");

printf("\n\tOpcao:");

scanf("%d",&opcao2);

switch(opcao2)

{case 1:printf("\n\n\tSoma de Matrizes\n");
printf("\tInforme 9 numeros inteiros para a matriz A:\n\t");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matrizA[linha][coluna]);

}//fim do for das colunas

}
printf("\n\nDados armazenados na matriz A:\n\n");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("%d\t", matrizA[linha][coluna]);
}
printf("\n");
}
//INICIO DA MATRIZ 2:

printf("\t\n\nInforme 9 numeros inteiros para a matriz B:\n\t");

for(linha=0;linha<=2;linha++)

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

{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matrizB[linha][coluna]);

}//fim do for das colunas

}
printf("\n\nDados armazenados na matriz B:\n\n");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("%d\t", matrizB[linha][coluna]);
}
printf("\n");
}


printf("\n\nA Matriz resultante da soma das matizes A e B eh: \n\n");

for(linha=0;linha<=2;linha++)

{
for(coluna=0;coluna<=2;coluna++)
{
matrizresultado [linha][coluna]= matrizA[linha][coluna]+ matrizB[linha][coluna];

printf("%d\t", matrizresultado[linha][coluna]);

}

printf("\n");

}
)


break;

case 2:printf("\n\n\tMultiplicação de Matrizes\n");


printf("\tInforme 9 numeros inteiros para a matriz 1:\n\t");

for(linha=0;linha<=2;linha++)

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

{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matriz1[linha][coluna]);

}//fim do for das colunas

}
printf("\n\nDados armazenados na matriz 1:\n\n");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("%d\t", matriz1[linha][coluna]);
}
printf("\n");
}
//INICIO DA MATRIZ 2:

printf("\t\n\nInforme 9 numeros inteiros para a matriz 2:\n\t");

for(linha=0;linha<=2;linha++)

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

{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matriz2[linha][coluna]);

}//fim do for das colunas

}
printf("\n\nDados armazenados na matriz 2:\n\n");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("%d\t", matriz2[linha][coluna]);
}
printf("\n");
}

matriz3[linha][coluna]=0;

for(linha=0;linha<2;linha++)
{
 for(coluna=0;coluna<=2;coluna++)
{
for(coluna1=0;coluna1<2;coluna1++)
{
matriz3[linha][coluna]=matriz3[linha][coluna]+(matriz1[linha][coluna1]* matriz2[linha][coluna1]);
}
}
}
printf("\n\n");
printf("As matrizes multiplicadas geram a matriz abaixo");
printf("\n\n");
for(linha=0;linha<2;linha++)
{
printf("\n");
for(coluna=0;coluna<2;coluna++)
{
printf("%d",matriz3[linha][coluna]);

}
 printf("\n\n");
}
}
break;


case 3:printf("\n\n\tDeterminante de Ordem 2\n");

printf("\tInforme 4 numeros inteiros para a matriz:\n\t");

for(linha=0;linha<=1;linha++)
{
for(coluna=0;coluna<=1;coluna++)

{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matriz[linha][coluna]);

}

}
printf("\n\nDados armazenados na matriz:\n\n");

for(linha=0;linha<=1;linha++)
{
for(coluna=0;coluna<=1;coluna++)
{
printf("%d\t", matriz[linha][coluna]);
}
printf("\n");
}
printf("\n\nO Determimante da Matriz de Ordem 2 eh:");


determinante2=0;
for(linha=0;linha<=1;linha++)
{
for(coluna=0;coluna<=1;coluna++)
{
determinante2=(matriz[0][0]*matriz[1][1])-(matriz[0][1]*matriz[1][0]);
}
}
printf("%d\n\n", determinante2);
}

case 4:printf("\n\n\tDeterminante de Ordem 3\n");

printf("\tInforme 9 numeros inteiros para a matriz:\n\t");

for(linha=0;linha<=2;linha++)

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

{
printf("\nMatriz[%d][%d]=", linha, coluna);
scanf("%d",&matriz[linha][coluna]);

}

}
printf("\n\nDados armazenados na matriz:\n\n");

for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{
printf("%d\t", matriz[linha][coluna]);
}
printf("\n");

}
printf("\n\nO Determimante da Matriz de Ordem 3 eh:");


determinante3=0;
for(linha=0;linha<=2;linha++)
{
for(coluna=0;coluna<=2;coluna++)
{

determinante3=(matriz[0][0]*matriz[1][1]*matriz[2][2]) + (matriz[0][1]*matriz[1][2]*matriz[2][0]) + (matriz[0][2]*matriz[1][0]*matriz[2][1])
- ((matriz[0][2]*matriz[1][1]*matriz[2][0]) + (matriz[0][0]*matriz[1][2]*matriz[2][1]) + (matriz[0][1]*matriz[1][0]*matriz[2][2]));

}
}
printf("%d\n\n", determinante3);
}

break;
Edited by thoga31
Tags code + GeSHi
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.