Duvidas em exercicio, troca e exibição de valores em um vetor?
4 respostas
programação
Mauro_Geovane_Tavira
Estudo programação a pouco tempo e estou com duvida na resolução do exercício, que se segue abaixo:
Trocar os valores de um VetorA para um VetorB, e imprimir o VetorB com os valores de A e o Vector de A com os valores de B?
intn,m,aux,vectorA[5],vectorB[5];printf("\tPROGRAMA QUE IMPRIME OS VALORES DE DOIS VECTORES TROCADOS\n\n");for(n=0;n<5;n++){printf("Digite o VectorA[%d]: ",n);scanf("%d",&vectorA[n]);}printf("\n\n");for(m=0;m<5;m++){printf("Digite o VectorB[%d]: ",n);scanf("%d",&vectorB[m]);}printf("\n\n");aux=vectorA[n];vectorA[n]=vectorB[m];vectorB[m]=aux;printf("\n\n");for(n=0;n<5;n++){printf("vectorA[%d]",n);}printf("\n\n");for(m=0;m<5;m++){printf("vectorB[%d]",m);}
Você até começou bem. Criou dois vetores e solicitou/preencheu cada elemento do vetor. É importante lembrar que, para vetores, ao menos no início, “qualquer” operação que você for fazer, deverá passar por cada elemento do vetor. Veja que, por exemplo, a sua variável aux recebe o vectorA[n] onde n sairá do primeiro for com o valor 5! Teremos aí dois problemas sendo eles:
Apenas um item do vetor estaria sendo acessado;
O elemento do vetor, para este caso o vectorA[5], não existe.
Enfim, uma forma bem simples de resolver este problema seria declarando um vetor auxiliar vectorAux[] de para cada elemento vectorAux[i] receber os elementos vectorA[i], vectorA[i] receber os elementos de vectorB[i] e por fim, vectorB[i] receber os elementos de vectorAux[i].
Qualquer dúvida estamos aí.
L
Luis_Augusto_Santos
Apensa para confirmar, o trecho de código em que, suportamente, realiza a troca é este
Raciocina comigo: um vetor possui mais de uma posição, não é mesmo? Como você faz para percorrer um vetor e obter ou determinar o valor de cada posição existente nele?
Já pensou em criar o algoritmo disso, antes de tentar programar?
Algoritmo"semnome"//Disciplina:[Linguagem e Lógica de Programação]//Professor:AntonioCarlosNicolodi//Descrição:Aquivocêdescreveoqueoprogramafaz!(função)//Autor(a):Nomedo(a)aluno(a)//Dataatual:10/04/2017Var//SeçãodeDeclaraçõesdasvariáveisn,m,aux:inteirovectorA,vectorB:vetor[1..2]deinteiroInicio//SeçãodeComandos,procedimento,funções,operadores,etc...m<-5parande1atemfacaescreval("Digite o ",n,"º valor do vetor A")leia(vectorA[n])fimparaescreval("")parande1atemfacaescreval("Digite o ",n,"º valor do vetor B")leia(vectorB[n])fimparaparande1atemfacaaux<-vectorA[n]vectorA[n]<-vectorB[n]vectorB[n]<-auxfimparaescreval("Apresentando vectorA")parande1atemfacaescreval(vectorA[n])fimparaescreval("Apresentando vectorB")parande1atemfacaescreval(vectorB[n])fimparaFimalgoritmo
Mauro_Geovane_Tavira
Muito obrigado pelas dicas. Graças a Deus e a prática consegui fazer e perceber como ele deve rolar. O segredo esta na lógica em que escrevemos os nossos códigos, porque o computador apenas faz o que por nos for mandado. Mais uma vez, muito obrigado!
L
Luis_Augusto_Santos1 like
Lembro das minhas primeiras aulas de lógica de programação/c++ (eram alternadas, numa criávemos algoritmos, na outra implementávamos os programas). O professor Paulo Cayres (excelente professor e pessoa) nos dizia:
“O computador é burro, vai fazer tudo o que você mandar.”.