atcristalino Postado Junho 18, 2006 Denunciar Share Postado Junho 18, 2006 Pessoal, estou precisando de uma ajuda na construção de um algoritmo...Este é o objetivo do mesmo:"Descrição: Programa para somar os elementos das posições pares correspondentes de dois vetores e subtrair os elementos das posições impares dosegundo vetor pelos das posições correspondentes do primeiro vetor.Ambos os vetores são de inteiros e têm tamanho igual a 80.Os resultados das operações realizadas são armazenados num terceiro vetor,também inteiro e de tamanho 80, nas posições correspondentes.O terceiro vetor é impresso na tela."código que estou usando #include <stdio.h>int main(){int i;int vetorSoma[80];int vetor1[80];int vetor2[80];for (i=1; i<=80; i++){ //loop de recepção dos dados do primeiro vetor//printf ("Digite o %do. elemento do vetor 1\n\n",i);scanf ("%d",&vetor1);}for (i=1; i<=80; i++){ //loop de recepção dos dados do segundo vetor//printf ("Digite o %do. elemento do vetor 2\n\n",i);scanf ("%d",&vetor2);}/*condições de cálculo do vetor soma*/for (i=1; i<=80; i++){if (i%2==0)vetorSoma=vetor1+vetor2;//printf ("\t%d\t",vetorSoma);elsevetorSoma=vetor2-vetor1;//printf ("\t%d\t",vetorSoma);}for (i=1; i<=80; i++){printf ("\n\n O %do. elemento do vetor S é: %d\n",i,vetorSoma); //apresentação do resultado linha a linha//}system("pause");} Estou tentando com o código acima, mas como podem ver, ele está apresentando o resultado linha a linha...Como posso fazer para imprimir o vetor de uma só vez ??Agradeço desde já qualquer ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Junho 19, 2006 Denunciar Share Postado Junho 19, 2006 Seu código está muito estranho, note que você abre chaves { do int main e note que você fecha ela antes de um for. int main() { int i; int vetorSoma[80]; int vetor1[80]; int vetor2[80]; for (i=1; i<=80; i++){ //loop de recepção dos dados do primeiro vetor// printf ("Digite o %do. elemento do vetor 1\n\n",i); scanf ("%d",&vetor1); } Olhe também que na leitura do vetor você não está mandando gravar de acordo com o índice, veja: for (i=1; i<=80; i++){ //loop de recepção dos dados do primeiro vetor// printf ("Digite o %do. elemento do vetor 1\n\n",i); scanf ("%d",&vetor1); Você manda gravar todos na mesma posição, na verdade duvido que esse código chegou a compilar, tente denovo e se estiver em dúvida estaremos aqui. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Junho 21, 2006 Denunciar Share Postado Junho 21, 2006 faltou voce indexar seu vetor....voce está tratando ele como se fosse uma variável simples, olha só: #include <stdio.h> int main() { int i; int vetorSoma[80]; int vetor1[80]; int vetor2[80]; for (i=0; i<80; i++){ //loop de recepção dos dados do primeiro vetor// printf ("Digite o %do. elemento do vetor 1\n\n",i+1); scanf ("%d",&vetor1[i]); } for (i=0; i<80; i++){ //loop de recepção dos dados do segundo vetor// printf ("Digite o %do. elemento do vetor 2\n\n",i+1); scanf ("%d",&vetor2[i]); } /*condições de cálculo do vetor soma*/ for (i=0; i<80; i++){ if ((i+1)%2==0) vetorSoma[i]=vetor1[i]+vetor2[i]; //printf ("\t%d\t",vetorSoma); else vetorSoma[i]=vetor2[i]-vetor1[i]; //printf ("\t%d\t",vetorSoma); } for (i=0; i<80; i++){ printf ("\n\n O %do. elemento do vetor S é: %d\n",i+1,vetorSoma[i]); //apresentação do resultado linha a linha// } system("pause"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
atcristalino
Pessoal, estou precisando de uma ajuda na construção de um algoritmo...
Este é o objetivo do mesmo:
"Descrição: Programa para somar os elementos das posições pares correspon
dentes de dois vetores e subtrair os elementos das posições impares do
segundo vetor pelos das posições correspondentes do primeiro vetor.
Ambos os vetores são de inteiros e têm tamanho igual a 80.
Os resultados das operações realizadas são armazenados num terceiro vetor,
também inteiro e de tamanho 80, nas posições correspondentes.
O terceiro vetor é impresso na tela."
código que estou usando
#include <stdio.h>
int main()
{
int i;
int vetorSoma[80];
int vetor1[80];
int vetor2[80];
for (i=1; i<=80; i++){ //loop de recepção dos dados do primeiro vetor//
printf ("Digite o %do. elemento do vetor 1\n\n",i);
scanf ("%d",&vetor1);
}
for (i=1; i<=80; i++){ //loop de recepção dos dados do segundo vetor//
printf ("Digite o %do. elemento do vetor 2\n\n",i);
scanf ("%d",&vetor2);
}
/*condições de cálculo do vetor soma*/
for (i=1; i<=80; i++){
if (i%2==0)
vetorSoma=vetor1+vetor2;
//printf ("\t%d\t",vetorSoma);
else
vetorSoma=vetor2-vetor1;
//printf ("\t%d\t",vetorSoma);
}
for (i=1; i<=80; i++){
printf ("\n\n O %do. elemento do vetor S é: %d\n",i,vetorSoma); //apresentação do resultado linha a linha//
}
system("pause");
}
Estou tentando com o código acima, mas como podem ver, ele está apresentando o resultado linha a linha...
Como posso fazer para imprimir o vetor de uma só vez ??
Agradeço desde já qualquer ajuda.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.