Elabore um programa em c utilizando como entrada de dados o vetor a composto por 10 numeros inteiros.
o programa deverá usar um menu (switch) indicando a numeração dos problemas abaixo:a- copie os valores do vetor a para o vetor b
b-multiplique o valor da variavel c pelos elementos do vetor e guardar os resultados no vetor b
c- mostrar na tela os conteudos dos endereços 7 e 9 do vetor a.
d-mostre na tela a posição (endereço de memoria) do vetor a referente ao numero (conteudo) 50. caso o numero nao exista, mostrar uma msg na tela.
e-calcule o produto escalar de a por b, onde pg=a1*b1+a2*b2+*b10
f-colocar na variavel maior, o maior elemento de a e na variavel posiçâo, o seu endereço de memoria
g-mostre na tela o vetor a e a ordem inversa dos seus elementos.
1 Resposta
Clique aqui para adicionar a sua resposta.
flavio3324
#include
printf("Insira um numero inteiro para A[%d]: ", num);
b[num]=a[num];
b[num]=a[num]*mtpl;
if(a[num]==numend) return &a[num];
pg+=a[num]*b[num];
if(maiorreturn maiorpos(a, &a[num], a[num], num+1); }
#include
const int tam=10;
int Pg=0;
int Maior=0;
int* Posicao=0;
int preencher(int a[], int num);
int menu(int a[], int b[]);
int opcoes();
int copyAtoB(int a[], int b[], int num);
int mult(int a[], int b[], int mtpl, int num);
int mostrA(int a[], int pos1, int pos2);
int* endnum50(int a[], int numend, int num);
int calprodesc(int a[], int b[], int num, int pg);
int maiorpos(int a[], int* pos, int maior, int num);
int exibirinvA(int a[], int num);
int main(){
int vetA[tam], vetB[tam];
preencher(vetA, 0);
printf("");
menu(vetA, vetB);printf("nn");
system("pause");
return 0; }
int preencher(int a[], int num){
if(num
scanf("%d", &a[num]);
return preencher(a, num+1); }
return 0; }
int menu(int a[], int b[]){
char op;
fflush(stdin); //_fpurge(stdin) se o sistema for linux
opcoes();
printf("Insira a letra corresponde a opcao: ");
scanf("%c", &op);
fflush(stdin); //_fpurge(stdin) se o sistema for linux
switch(op){
case 'a':{ copyAtoB(a, b, 0);
return menu(a, b); }
case 'b':{
int multp=0;
printf("n");
printf("Insira o multiplicador: ");
scanf("%d", &multp);
mult(a, b, multp, 0);
return menu(a, b); }
case 'c':{
mostrA(a, 7, 9);
return menu(a, b); }
case 'd':{
printf("O endereco do numero 50 eh: %d", endnum50(a, 50, 0));
return menu(a, b); }
case 'e':{
Pg=calprodesc(a, b, 0, 0);
printf("Pg = %d", Pg);
return menu(a, b); }
case 'f':{
maiorpos(a, &a[0], a[0], 0);
return menu(a, b); }
case 'g':{
printf("{ ");
exibirinvA(a, tam-1);
return menu(a, b); }
case 's':{ return 0; } }//fim do switch
printf("Opcao invalida!n");
return menu(a, b); }
int opcoes(){
printf("nna - Copiar os elemntos do vetor A para o vetor Bn");
printf("b - Multiplicar os elemntos do vetor A e armazena-los no vetor Bn");
printf("c - Exibir os elementos na posicao 7 e 9 no vetor An");
printf("d - Exibir o endereco do numero 50 no vetor An");
printf("e - Calcular o produto escalar dos vetores A e Bn");
printf("f - Armazenar o maior numero e seu enderecon");
printf("g - Exibir o vetor A inversamenten");
printf("s - Sairn");
return 0; }
int copyAtoB(int a[], int b[], int num){
if(num
return copyAtoB(a, b, num+1); }
return 0; }
int mult(int a[], int b[], int mtpl, int num){
if(num
return mult(a, b, mtpl, num+1); }
return 0; }
int mostrA(int a[], int pos1, int pos2){
printf("A%d = %d, A%d = %d", pos1, a[pos1], pos2, a[pos2]);
return 0; }
int* endnum50(int a[], int numend, int num){
if(num
else return endnum50(a, numend, num+1); }
printf("Numero inexistente. ");
return NULL; }
int calprodesc(int a[], int b[], int num, int pg ){
if(num
return calprodesc(a, b, num+1, pg); }
return pg; }
int maiorpos(int a[], int* pos, int maior, int num){
if(num
else return maiorpos(a, pos, maior, num+1); }
Maior=maior;
Posicao=pos;
return 0; }
int exibirinvA(int a[], int num){
if(num>=0){
printf("%d", a[num]);
if(num>=1) printf(", ");
return exibirinvA(a, num-1); }
printf("}");
return 0; }