Ir ao conteúdo
  • Cadastre-se

numeros


guilhermerayol

Posts recomendados

alo to tentando criar 10 numeros de maneira aleatoria e sem repetição com o seguinte codigo ele gera 2 vezes uma sequencia e para da pra falar ai omotivo. valeu

crio ai um vetor verifico se o valor é nulo então preencho o valor ate os valores forem diferentes de 0:mad::mad::mad:

repeatNum1:=random(11);until (Num1<>0)and(vetor1[Num1]=0);vetor1[Num1]:=Num1;RepeatNum2:=random(11);until (Num2<>0)and(vetor1[Num2]=0);vetor1[Num2]:=Num2;RepeatNum3:=random(11);until (Num3<>0)and(vetor1[Num3]=0);vetor1[Num3]:=Num3;RepeatNum4:=random(11);until (Num4<>0)and(vetor1[4]=0);vetor1[Num4]:=Num4;RepeatNum5:=random(11);until(Num5<>0)and(vetor1[Num5]=0);vetor1[Num5]:=Num5;RepeatNum6:=random(11);until(Num6<>0)and(vetor1[Num6]=0);vetor1[Num6]:=Num6;RepeatNum7:=random(11);until(Num7<>0)and(vetor1[Num7]=0);vetor1[Num7]:=Num7;RepeatNum8:=random(11);until(Num8<>0)and(vetor1[Num8]=0);vetor1[Num8]:=Num8;RepeatNum9:=random(11);until(Num9<>0)and(vetor1[Num9]=0);vetor1[Num9]:=Num5;RepeatNum10:=random(11);until(Num10<>0)and(vetor1[Num10]=0);vetor1[Num10]:=Num10;edit1.Text:=inttostr(Num1);edit2.Text:=inttostr(Num2);edit3.Text:=inttostr(Num3);edit4.Text:=inttostr(Num4);edit5.Text:=inttostr(Num5);edit6.Text:=inttostr(Num6);edit7.Text:=inttostr(Num7);edit8.Text:=inttostr(Num8);edit9.Text:=inttostr(Num9);edit10.Text:=inttostr(Num10)
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

alo to tentando criar 10 numeros de maneira aleatoria e sem repetição com o seguinte codigo ele gera 2 vezes uma sequencia e para da pra falar ai omotivo. valeu

crio ai um vetor verifico se o valor é nulo então preencho o valor ate os valores forem diferentes de 0:mad::mad::mad:


Num1:=random(11);
until (Num1<>0)and(vetor1[Num1]=0);
vetor1[Num1]:=Num1;
Repeat
Num2:=random(11);
until (Num2<>0)and(vetor1[Num2]=0);
vetor1[Num2]:=Num2;
Repeat
Num3:=random(11);
until (Num3<>0)and(vetor1[Num3]=0);
vetor1[Num3]:=Num3;
Repeat
Num4:=random(11);
until (Num4<>0)and(vetor1[4]=0);
vetor1[Num4]:=Num4;
Repeat
Num5:=random(11);
until(Num5<>0)and(vetor1[Num5]=0);
vetor1[Num5]:=Num5;
Repeat
Num6:=random(11);
until(Num6<>0)and(vetor1[Num6]=0);
vetor1[Num6]:=Num6;
Repeat
Num7:=random(11);
until(Num7<>0)and(vetor1[Num7]=0);
vetor1[Num7]:=Num7;
Repeat
Num8:=random(11);
until(Num8<>0)and(vetor1[Num8]=0);
vetor1[Num8]:=Num8;
Repeat
Num9:=random(11);
until(Num9<>0)and(vetor1[Num9]=0);
vetor1[Num9]:=Num5;
Repeat
Num10:=random(11);
until(Num10<>0)and(vetor1[Num10]=0);
vetor1[Num10]:=Num10;
edit1.Text:=inttostr(Num1);
edit2.Text:=inttostr(Num2);
edit3.Text:=inttostr(Num3);
edit4.Text:=inttostr(Num4);
edit5.Text:=inttostr(Num5);
edit6.Text:=inttostr(Num6);
edit7.Text:=inttostr(Num7);
edit8.Text:=inttostr(Num8);
edit9.Text:=inttostr(Num9);
edit10.Text:=inttostr(Num10)
repeat

Olá,

guilhermerayol, vamos por partes.

1) Por quê da posição aleatória?

repeat
[COLOR="Red"]Num1:=random(11);[/COLOR]
until (Num1<>0) and (vetor1[Num1]=0);
vetor1[[COLOR="Red"]Num1[/COLOR]]:=Num1;
Repeat

Quem deve ser aleatório é o valor e não a posição no vetor. O que você está fazendo é "para uma posição aleatório, insira nesta posição o valor da posição"

Ex.: Num=2, seria Num[2]:=2;

O correto seria "para cada posição do vetor, gere um número aleatório e insira nele".

Randomize; //necessário para inicializar o Random() (evita que repita números no início
for i:=1 to tamanhoVetor do
begin
num:=Random(10)+1; //mais um é para ser de 1 a 10 (em vez de 0 a 9)
//aqui trecho para verificar se o número é repetido ou não, caso seja, gerar novamente (por sua conta}
vetor[i]:=num;
end;

Obs.: Do jeito que está, é possível que repita números.

2) Uso de variáveis para determinar a posição

Como dá para observar você não precisa de uma variável para cada posição. Basta só mudar o valor da variável que tem tem a posição...

3) Os valore estão no vetor

Você está imprimindo o "num"s, mas deveria usar o vetor. Senão pra que serve ele?

***

RESUMINDO

para cada posição do vetor;
repita até que gere um número novo
gere um número aleatório;
armazene na próxima posição do vetor;
exiba os número do vetor;

Tem fazer ai, e poste aqui seu código e se tiver ainda dúvidas é só perguntar.

Abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...