Ir ao conteúdo
  • Cadastre-se

Vetores pascalzim


Ir à solução Resolvido por Pedro Math.pi,

Posts recomendados

//8) Ler um vetor W de 10 elementos, depois ler um valor V. Contar e escrever quantas vezes o valor V ocorre
//no vetor W e escrever também em que posições (índices) do vetor W o valor V aparece. Caso o valor V não
//ocorra nenhuma vez no vetor W, escrever uma mensagem informando isto.

Program Pzim ;var w: array[1..10] of integer;    s,i,v:integer;  Begin  for i:=1 to 10 do begin  w[i]:=i;  end;  begin  writeln(' escreva o valor de v');  readln(v); end;  s:=0;  for i:=1 to 10 do if w[i]=v then s:=s+1  else   write(' o valor não aparece nenhuma vez no vetor w');  for i:=1 to 10 do write(' o valor v aparece',s,' vezes');  // como faço pro indice em que v aparecer, ser mostrado????     End.


 
Como faço pra escrever em que indice está o numero? tenho dificuldades nesta parte de interpretação

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá!
Acho que nesse caso, o vetor W deve receber números aleatórios. Por exemplo, números de 1 até 10. Existe uma função que sorteia números, independente que repita ou não.

 

Onde está esse código

w[i]:=i;

você coloca isso:

w[i]:= random(10); 

acho que tem que usar um "randomize;" abaixo do primeiro begin.

Você vai jogar esse número na variável V e vai ver se tem algum igual no vetor W. Essa parte está correta.

 

Mude esse final

 else   write(' o valor não aparece nenhuma vez no vetor w');  for i:=1 to 10 do write(' o valor v aparece',s,' vezes');  // como faço pro indice em que v aparecer, ser mostrado????

se "s" fo igual a 0, você envia uma mensagem que "valor não aparece nenhuma vez no vetor w"

senão você envia uma mensagem informando que o valor aparece: write(' o valor v aparece',s,' vezes');

 

não precisa usar esse último "for"

vai usar somente if .. else

 

@edit

faltou só as posições do W que eu esqueci. vou dar uma olhada.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá!

Consertando:

 Begin	randomize;  	for i:=1 to 10 do begin  		w[i]:=random(10);  	end;   	writeln(' escreva o valor de v');  	readln(v);  	s:=0;  	for i:=1 to 10 do 		if w[i]=v then 		begin 			writeln(' o valor de V aparece na posicao',i); 			s:=s+1;          end; 		      if s=0 then		writeln(' o valor não aparece nenhuma vez no vetor w')     else 		writeln(' o valor V aparece ',s,' vez(es)');   End.

Usei o random. Ele vai sortear os números de 1 até 10 no vetor W e pode repetir ou não aparecer nenhum.

No segundo "for" ele já manda mensagem se encontrar V na posição de W.

NO último "if" ele emite a mensagem final de quantos encontrou ou se não encontrou nenhum.

 

Bons estudos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...