|
![]() |
||
Problema com Algoritmo
|
||
. Nós temos 759.132 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Super Participante
|
Estou tendo que fazer um algoritmo pra faculdade...coisa facil, mas eu não estou conseguindo fazer uma parte....a tarefa é a seguinte:
Escreva um algoritmo que leia 20 valores inteiros, armazenando-os em dois vetores de tamanho 10, "v1" e "v2". Em seguida exiba os valores comuns aos dois vetores, com o cuidado de escrever apenas uma vez cada número. Por exemplo, o número 2 só deverá ser exibido se estiver presente em ambos os vetores, uma ou mais vezes em cada um deles. Eu consegui fazer quase todo ele, só estou com problema para ele nao exibir os numeros uma vez. Abaixo segue o algoritmo, com a sintaxe que eu uso em aula. É bem facil de entender, se alguem souber algo poste aqui. ALGORITMO TAREFA13 INÍCIO INTEIRO V1[10], V2[10], V3[10], C1, C2, C3; PARA C1 DE 0 ATÉ 9 FAÇA V1[C1] <-- LEIA_INTEIRO("ENTRE COM UM NÚMERO"); V2[C1] <-- LEIA_INTEIRO("ENTRE COM UM NÚMERO"); FIM_PARA PARA C1 DE 0 ATÉ 9 FAÇA PARA C2 DE 0 ATÉ 9 FAÇA SE (V1[C1]==V2[C2]) ENTÃO ESCREVA(V1[C1]); FIM_SE FIM_PARA FIM_PARA FIM |
|
|
|
|
|
#2 (permalink) |
|
Super Participante
Registrado em: Sep 2001
Localização: Salvador, Bahia
Idade: 32
Mensagens: 770
Reputação: 22
![]() |
Bem devem existir várias maneiras de fazer, pensei em duas:
1 - Como vc declarou um V3 ali q não é utilizado, vc poderia usar ele para guardar os numeros que se repetem, testando sempre para q nao haja dois iguais e no final imprimir o vetor.. 2 - Vc teria q parar o loop assim q encontrasse a primeira ocorrencia de numeros iguais, já q so precisa imprimir uma vez.. Pra isso vc nao poderia usar um PARA, teria que usar um ENQUANTO ou REPITA, mais ou menos assim: Código:
Abraços P.S.: vc notou que na leitura dos numeros, o programa vai preencher os dois vetores alternadamente, não é? Ex: 1 vai para V1 2 vai para V2 3 vai para V1 4 vai para V2 E assim sucessivamente..
__________________
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. |
|
|
|
|
|
#3 (permalink) | |
|
Super Participante
|
Citação:
Realmente dessa maneira funciona, menos quando apresentar dois números iguais em V1...você não saberia como terminar o algoritmo? Tipo antes eu estava tentando fazer como você explicou no 1 mas não consegui mto bem.... Mas de qualquer forma valeu pela ajuda. |
|
|
|
|
|
|
#4 (permalink) |
|
Super Participante
|
algoritmo teste
var v1,v2,v3: matriz[1..10] de inteiro a,b: inteiro inicio para a de 1 ate 10 faca leia v1[a],v2[a] v3[a] <-- 19283 fim_para para a de 1 ate 10 faca para b de 1 ate 10 faca se v1[a] = v2[b] entao v3[a]<-- v1[a] fim_se fim_para fim_para para a de 1 ate 10 faca se v3[a] <> 19283 entao escreva v3[a] fim_se fim_para fim. pelo q entendi eh isso?
__________________
Afastado do fórum por um tempo. |
|
|
|
|
|
#5 (permalink) | |
|
Super Participante
|
Citação:
v3[a] <-- 19283 pq atribuiu esse numero ? se v3[a] <> 19283 entao e o que quer dizer o <> e para que serve no algoritmo? |
|
|
|
|
|
|
#6 (permalink) |
|
Super Participante
|
algoritmo teste
var v1,v2,v3,v4: matriz[1..10] de inteiro cont,a,b: inteiro inicio cont <-- 1 para a de 1 ate 10 faca leia v1[a],v2[a] v4[a] <-- 19283 v3[a] <-- 19283 fim_para para a de 1 ate 10 faca para b de 1 ate 9 faca se v1[a] = v1[b+1] entao v3[cont] <-- v1[a] v1[a] <-- 19283 cont<--cont + 1 fim_se fim_para fim_para para a de 1 ate 10 faca para b de 1 ate 9 faca se v2[a] = v2[b+1] entao v3[cont] <-- v2[a] v2[a] <-- 19283 fim_se fim_para fim_para para a de 1 ate 10 faca para b de 1 ate 10 faca se v1[a] = v2[b] entao v4[a]<-- v1[a] fim_se fim_para fim_para para a de 1 ate 10 faca se v3[a] <> 19283 entao escreva v3[a] fim_se se v4[a] <> 19283 entao escreva v4[a] fim_se fim_para fim. o <>(menor maior) significa diferente, atribui esse numero, como um controle, sendo q se o usuario digitar esse numero ele num vai aparecer, ta muito grande, mas foi o q consegui pensar nesses minutos thx, tente isso, tou sem tempo pra teste de mesa, faltou controlar ainda o v3 e v4, comprar se saum iguais e escrever, e achu q isso da fim a este problema
__________________
Afastado do fórum por um tempo. |
|
|
|
|
|
#7 (permalink) |
|
Super Participante
Registrado em: Sep 2001
Localização: Salvador, Bahia
Idade: 32
Mensagens: 770
Reputação: 22
![]() |
O bytamer tomou outro caminho interessante tb...
ebanton, não sei se ainda te serve (com o fórum saindo do ar, acabei não acompanhando alguns tópicos), mas acho q assim funcionaria: Código:
P.S. do P.S.: mudei tb a ordem de leitura, para que o usuario informe primeiro todo o vetor 1 depois o 2. P.S. do P.S.: se não enteder alguma coisa, dê um toque ![]()
__________________
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. |
|
|
|
![]() |
| Opções do Tópico | |
|
|