Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal . Eu tava fazendo um exercicio que deveria separar e mostrar os números pares dos ímpares ,porém na hora de  imprimi-los na tela é mostrado o número 0 com o array.Meu código: 

 

Program Pzim ;
var n,valor_p,valor_i : array[1..10] of integer;
   i,c,j,a : integer;
Begin
 c:=0;
 a:=0;
        for i:=1 to 10 do
            begin
            
            j:=i;
            
            
              write('Entre com o ',i,' número : ');
              readln(n);
              if n mod 2 = 0 then
                  begin
                  
                   valor_p:=n;
                   c:=c+1;
                  
                   
                  end
              else 
                  begin
                   valor_i:=n;
                   
                   a:=a+1;
                  
                  end;
            end;
         for i:=1 to c do
         begin
         writeln('VALORES PARES: ',valor_p);
         end;
         for i:=1 to a do
         begin
         writeln('VALORES ÍMPARES: ',valor_i);
         end;
End.

  • Obrigado 1
Postado

@paulo eduardo 11    creio que a linha onde se coloca um vetor ou Array seja apenas para esses tipos e as variáveis simples  devam ficar em uma linha diferente dessa .    e ele está imprimindo muitos valores zero , por que o índice dos vetores está sendo o mesmo , e deveriam ser um índice para cada vetor ,   e para postar seu código é melhor usar o botão  <> 

barap.jpg.cd369108cf721c01a117d65346adcb7d.jpg

que está desenhado lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres como os [ i ]  , que sumiram do seu código , e seu código está bom ,  e com algumas modificações poderia ser assim  :

Program Pzim ;
var 
  valor_p,valor_i : array[0..10] of integer;
  i,cont_p,cont_i : integer;
Begin
  //  c:=0;   não precisa inicializar , pois são globais 
  //  a:=0;   e já inicializadas com valor zero 
  for i:=1 to 10 do
  begin
    write('Entre com o ',i,' número : ');
    readln(valor_p[cont_p]);
    if valor_p[cont_p] mod 2 <> 0 then
    begin
      valor_i[cont_i] := valor_p[cont_p];
      valor_p[cont_p] := 0;            
      cont_i := cont_i + 1;
    end
    else 
//    begin                    não precisa pois
      cont_p := cont_p + 1; // aqui só tem uma linha
//    end;                     nem aqui também
  end;
  writeln;
  textcolor(white);  
  textbackground(lightred);
  writeln('  VALORES PARES :');
  textbackground(black);
  for i:=0 to cont_p-1 do
  begin
    writeln(i+1,'  Número PAR : ',valor_p[i]);
  end;
  writeln;
  textcolor(yellow);
  textbackground(lightblue);
  writeln('  VALORES ÍMPARES : ');
  textbackground(black);
  for i:=0 to cont_i-1 do
  begin
    writeln(i+1,'  Número ÍMPAR : ',valor_i[i]);
  end;
End. 

 

  • Obrigado 1

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!