Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia
Montei esse algoritmo ele tem que ler dois vetores e mostrar os numeros que se repetem em A e B
var
a, b : vetor[1..5] de inteiro
i, j : inteiro
inicio
// Seção de Comandos
para i de 1 ate 5 faca
escreval("Digite um numero inteiro par o conjunto A")
leia(a[i])
fimpara
para j de 1 ate 5 faca
escreval("Digite um numero inteiro para o conjunto B")
leia(b[j])
fimpara
para i de 1 ate 5 faca
para j de 1 ate 5 faca
se a[i] = b[j] entao
escreval(a[i])
fimse
fimpara
fimpara
fimalgoritmo
O meu ta funcionando só q nao sei se é a maneira mais logica de resolver...
Poderia ser feito de outra forma?
>
Só que se tiver mais de um numero igual no mesmo conjunto ele irá exibir, + como não está falando nd sobre isso ta beleza ;D
Entao eu tinha percebido isso mas o exercicio realmente nao falava nada, mas ja q você comentou fui tentar fazer
Dá uma olhada
para i de 1 ate 5 faca
se i = 1 entao
escreval("Digite um numero inteiro para o conjunto A")
leia(a[i])
senao
se i > 1 entao
escreval("Digite um numero inteiro para o conjunto A")
leia(a[i])
enquanto a[i] = a[i-1] faca
escreval("Voce ja digitou esse numero, digite outro")
leia(a[i])
fimenquanto
fimse
fimse
fimpara
Aqui funcionou, e quanto a lógica tá certa?
obrigado
Opa, seria legal modularizar, você já aprendeu a criar procedimentos/Funções?
tipo assim:
Função jahTem Inteiro num Retorna Inteiro
Inteiro OK;
.
. //Loop para verificar se número já existe
.
Função_Retorna OKOK <- 0;
Enquanto (OK=0) Faça
Leia (num);
Se (jahtem(num)=0) OK <-1;
Fim_Enquanto;
não que o seu esteja errado, apenas fica + elegante o código e + facil dar futuras manutenções..
o jeito de se criar a função é mais ou menos essa, vai depender de como é determinando do seu compilador ;D
[]s
A sua forma não acho que está errada não.
Só que se tiver mais de um numero igual no mesmo conjunto ele irá exibir, + como não está falando nd sobre isso ta beleza ;D
[]s