Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Sortear 99 números e descobrir o menor deles


Posts recomendados

@Gleich      você pode fazer no compilador visualG , crie um vetor de inteiro e coloque um laço de repetição  indo de hum até vinte , e dentro do loop use a função randi (100) , para gerar os números de zero até 99 e coloque no vetor na posição indicada pela variável de controle do loop , depois use outro loop para imprimir os números e verificar qual é o maior ,  faça seu código e poste aqui para vermos como está e em que podemos ajudar   .

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@devair1010

Program Pzim ;
var
vetor : array[1..100] of integer;           // sorteando de 0 à 99 //
i , menor   : integer;
Begin
  for i:=1 to 20 do                              // tamanho 20 //
  vetor := random (100);                // array com os números   sorteados //
  
  
menor:=vetor[1];
for i:=1 to 20 do
begin
  if menor>vetor then
  menor:=vetor;                        // estabelecendo a operação de menor valor //
end;
writeln('Menor valor:',menor);


for i:=1 to 20 do
write(vetor, ' ')        // escrevendo os números sorteados //  
End.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Gleich @Gleich     seu código está bom , e com algumas modificações poderia ser assim  :

Program vetor ;
var
  vetor           : array[1..20] of integer;           // sorteando de 0 à 99 //
  i , menor,aux,j : integer;
Begin
  for i:=1 to 20 do                   // tamanho 20 //
  begin  
    vetor[i] := random (100);         // array com os números   sorteados //
    if i=1 then
      menor:=vetor[1];// inicializa o menor com o primeiro valor gerado
  end;
  for i:=1 to 19 do  // metodo qualquer de odenação de vetores
  begin
    for j:=i+1 to 20 do
    begin
      if vetor[i]>vetor[j] then
      begin
        aux:=vetor[i];
        vetor[i]:=vetor[j];
        vetor[j]:=aux;
      end;  
    end;
  end;
  writeln('Numeros Gerados Ordenados Crescente');
  writeln;// o menor é o que está no inicio do vetor
  textcolor(lightcyan);
  for i:=1 to 20 do
  begin
    if menor > vetor[i] then 
      menor:=vetor[i];          // estabelecendo a operação de menor valor
    write(vetor[i], ' ')        // escrevendo os números sorteados
  end;
  writeln;
  writeln;
  textcolor(yellow);
  writeln('Menor valor ---: ',menor);
  writeln;
  textcolor(lightred);
  textbackground(white);
  writeln('    Tecle  . . . !  ');
  readln;  // pausar o console até pressionar alguma tecla
End.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 02/06/2019 às 20:31, devair1010 disse:

seu código está bom , e com algumas modificações poderia ser assim  :

 

@devair1010, o código do @Gleich está correto. Acho que só precisa mudar a ordem das exibições, ou seja: primeiro lista os números, depois mostra o menor.

 

Peguei o código e apenas inseri os [i ] que sumiram (pois não usou a Box Code) e dei uma reorganizada, mas mantive a lógica.

program Pzim;
var
  vetor :array[1..100] of integer; //armazena os números sorteados
  menor :integer; //menor valor do vetor
  i     :integer; //variável auxiliar
begin
//sorteia os 20 números
for i:=1 to 20 do
  vetor[i] := Random(100); //sorteia um número entre 0 e 99
//atribui o primeiro como o menor
menor := vetor[1];
//compara os outros números para ver se acha um menor
for i:=2 to 20 do 
  //se o número atual for menor que o menor
  if vetor[i] < menor then
    //atualiza o menor
    menor := vetor[i];
//exibe o menor número
writeln('Menor valor: ',menor);
//exibe os números do vetor
for i:=1 to 20 do 
  write(vetor[i], ' ');
end.

obs.: @Gleich, falta ainda mudar a ordem... primeiro a lista, depois o menor.

 

 

@devair1010, em relação ao seu código temos:

  1. a "inicialização do menor" pode (diria deve) ficar fora do laço;
  2. para que ordenar o vetor? isso não foi solicitado;
  3. se ordenou, e o menor está no início, não precisaria da variável menor, nem muito menos varrer o vetor (afinal o menor é o primeiro)

 

 

Adendo: Se esse:

 

Em 02/06/2019 às 16:26, Gleich disse:

sorteie cada posição do veto

 

por algum motivo signifique algo como "ordene o vetor", aí poderia ordenar o vetor com qualquer método de ordenação que ache interessante (como esse do @devair1010). E para exibir o menor, apenas exibia a primeira posição (ou a última, se tiver decrescente).

 

Falou

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...