Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal é o seguinte, na verdade ja estou ate constrangido de postar, pq nesse forum so apareci meu nick de usuario parece q apenas eu tenho dulvidas ñ vejo ninguem postando suas dulvidas, acho q ja estou abusando muito qualquer coisa podem pedir pro dar um tempo, pq de instrutor so tenho o forum.
mesmo assim
tenho que fazer um algoritmo que leia e monte dois vetores 1 e 2 de N posições com números reais positivos. Depois de montados procure por cada elemento do vetor 1 no vetor 2 e armazene as suas respectivas posições ( somente do primeiro número achado ) em um vetor 3, sendo que os elementos do vetor 1 que não forem encontrados no
vetor 2 deverão ter como valor o número zero no vetor 3
algem me dar essa força eu pensei assim
CODE
var
cont, cont_2, conta, cont_3: inteiro
vet_1: vetor [1..10] de real
vet_2: vetor [1..10] de real
vet_3: vetor [1..10] de real
inicio
cont:= 1
cont_2 := 1
enquanto cont<= 10 faca
leia (vet_1 [cont])
cont:= cont + 1
fimenquanto
enquanto cont_2 <= 10 faca
leia (vet_2 [cont_2])
cont_2 := cont_2 + 1
fimenquanto
cont_2 := 1
cont:= 1
conta:= 1
cont_3:= 1
enquanto conta <=10 faca
se(vet_2 [cont_2])= (vet_1 [cont])entao
vet_3 [cont_3] := vet_1 [cont]
fimse
cont_2 := cont_2 + 1
cont:= cont + 1
conta := conta + 1
cont_3 := cont_3 + 1
fimenquanto
fimalgoritmo
mas ele ñ armazena os primeiro numeros encontrados so o últmo
e sera digitado dessa maneira o meu copilador e o visualg da erro
para i de 1 até vet_1 faça
ops, no lugar de vet_1 e vet_2 coloque 10, pois é o valor q você definiu de tamanho do vetor!!
velho agora o ninho de se eu ñ coloquei
pq mesmo se colocar ele vai dar 0
e ainda todos os outros seria 0
senao
vet_3 [z] = 0
outra coisa seria ele esta armazenado a posição e ñ o numero armazenado. é isso mesmo?
CODE
vari, x, z: inteiro
vet_1: vetor [1..10] de real
vet_2: vetor [1..10] de real
vet_3: vetor [1..10] de real
inicio
i:= 1
x:= 1
z:= 1
enquanto i <= 10 faca
leia (vet_1 )
i:= i + 1
fimenquanto
enquanto x <= 10 faca
leia (vet_2 [x])
x:= x + 1
fimenquanto
i:= 1
para i de 1 ate 10 faca
x:= 1
z:= 1
para x de 1 ate 10 faca
* se (vet_1 ** = vet_2 [x]) entao*
vet_3 [z] := i
fimse
x:= x + 1
z:= z + 1
fimpara
i:= i + 1
fimpara
fimalgoritmo
sim ele esta jogando a posição, bem foi oq você disse q tinha q fazer!!
veja c assim fica melhor para você:
para i de 1 até 10 faça
aux <- 0
para j de 1 até 10 faça
se (vet_1[i] = vet_2[j]) então
vet_3[x] <- i
x <- x + 1
aux <- 1
fim_se
fim_para
Se (aux <> 1) então
vet_3[x] <- 0
x <- x + 1
fim_se
fim_paraaux é uma variavel auxiliar para dizer c o numero foi encontrado ow naum no vetor2
entao meu algoritmo esta certo
valeu pela dica eu tenho outra duvida mais é com matriz
vou posta em um novo topico,
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif beleza pode abrir outro tópico!
e assim o seu naum esta correto pois, c ele naum acha o número no vetor ele naum joga 0, e você não precisa incrementar o 'i' dentro do laço 'para' ele faz isso automatico!!
olhe o ultimo algoritmo q postei, ele atende o seu enunciado!
qlqr duvida naum deixe de postar!
[]'s
TCHE perceba q no seu algoritmo o valor sera comparado com apenas um outro valor!
veja c isso te ajuda:
para i de 1 até vet_1 faça
para j de 1 até vet_2 faça
se (vet_1[i] = vet_2[j]) então
vet_3[x] = i
senão
vet_3[x] = 0
fim_se
x <- x + 1
fim_para
fim_paraOlha TCHE vow te explicar:Para percorrer todo o vetor2 com 1 numero do Vetor1 você terá q ter dois 'loops' para isso!
se achar jogo o valor de 'i' q seria a posição q esta o numero igual no vetor3, senaum joga 0 no vetor3
e incrementa o indice 'x' para q ele aponte para a proxima casa do vetor3!!
qlqr duvida volte a postar http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Q isso cara abuse do fórum!! é bom ver q tem pessoas interessadas como você!