Jump to content


Photo

Algoritmo Com Vetores


  • Faça o login para participar
3 replies to this topic

#1 fekz

fekz

    12 Horas

  • Usuários
  • 243 posts
  • Sexo:Não informado

Posted 25/08/2008, 14:47

Tenho que fazer um programa em portugues estuturado que receba um vetor V de n números inteiros e inverta a ordem dos elementos do vetor no mesmo vetor.
Fiz em javascript +- e preciso fazer em portugues estruturado, poem ver se está certo?

ínicioint	vetorinvertido[100] /* Professora falo que em Portugues estruturado o vetor tem que ter tamanho certo, então pra predefinir botamos 100 */	i, quantidadeposicoes, contador  IMPRIMA "Digite o número de posições";  LEIA quantidadeposicoes  PARA i de 1 ate quantidadeposicoes PASSO 1 FAÇA    LEIA vetorinvertido[i]  FIM PARA  contador = quantidadeposicoes - 1; // Começa no fim do vetor  PARA i de 1 ate quantidadeposicoes PASSO 1 FAÇA    vetorinvertido[i] = vetorinvertido[contador]    contador--;  FIM PARA  PARA i de 1 ate quantidadeposicoes PASSO 1 FAÇA    IMPRIMA "O vetor invertido é ", vetorinvertido[i];  FIM PARAFIM


#2 brunoXP

brunoXP

    EFEI EÔ

  • Conselheiros
  • 2226 posts
  • Sexo:Masculino
  • Localidade:Campinas/Itajubá

Posted 29/08/2008, 01:07

Certinho, mas tem um pequeno problema. Observe: se você dá a instrução
vetorinvertido[i] = vetorinvertido[contador]
pra onde vai o atual valor de vetorinvertido[i]?

No seu algoritmo, se você tiver o seguinte vetor:
1 2 3 4 5 6 7 8
ele vai terminar assim:
1 2 3 4 4 3 2 1
sendo que deveria terminar assim:
8 7 6 5 4 3 2 1

----------------------------------------------------------------------------------------------------------------------------------------

Uma primeira opção, menos trabalhosa, seria trocar a sua instrução que citei pelo bloco abaixo:
int auxiliar;auxiliar = vetorinvertido[i]vetorinvertido[i] = vetorinvertido[contador]vetorinvertido[contador] = i
que garantiria que o número da posição i do vetor não se perdesse durante a troca. ;)

----------------------------------------------------------------------------------------------------------------------------------------

Uma outra prática seria criar um segundo vetor com o mesmo número de posições que o original. Daí, é só mudar a linha que citei no começo do post pela seguinte:
vetorauxiliar[i] = vetorinvertido[contador]
sendo vetorauxiliar o segundo, que receberá os elementos do primeiro em ordem inversa.

No final, você pode fazer uma das opções a seguir:

1. Copiar o vetor auxiliar para o original e continuar imprimindo o original
PARA i de 0 ate quantidadeposicoes-1 PASSO 1 FAÇA	 vetorinvertido[i] = vetorauxiliar[i];FIM PARAPARA i de 0 ate quantidadeposicoes-1 PASSO 1 FAÇA	 IMPRIMA "O vetor invertido é ", vetorinvertido[i];FIM PARA

2. Simplesmente passar a imprimir o vetor auxiliar
PARA i de 1 ate quantidadeposicoes PASSO 1 FAÇA	 IMPRIMA "O vetor invertido é ", vetorauxiliar[i];FIM PARA

-------------------------------------------------------------------------------------------

Um pequeno detalhe: fazendo o PARA de i=1 até quantidadeposicoes você estará cometendo um erro, pois ignorará o elemento vetorinvertido[0] (o primeiro elemento do vetor) e tentará acessar o elemento vetorinvertido[quantidadeposicoes], que não existe! Se você tem um vetor de N elementos, as suas posições vão de vetor[0] até vetor[N-1]. (y)
Assim, o correto seria fazer um:
PARA i de 0 ate quantidadeposicoes-1 PASSO 1 FAÇA


Entendeu os pontos que coloquei?

Espero ter ajudado. Abraço! :)
Bruno Toffolo
· Conselho / WebFórum

#3 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 26/10/2017, 14:24

Keflex Antibotic Levitra En Ayunas levitra for sale Tretinoin Cream 0.1 At Wholesale Cialis Online Kaufen Erfahrungen
Viagra Professionalfromgermany Priligy Generico Senza Ricetta levitra 40 mg generic Propecia Carabobo Vidal Tamoxifene Where Can I Buy Levaquin With Free Shipping

#4 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 30/10/2017, 11:57

Prix Levitra 20mg France viagra vs cialis vs levitra Cialis Viagra Comparaison




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq