Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabio Matos

[Resolvido] Não consigo imprimir os números pares e impares.

Recommended Posts

Sou iniciante em programação e encotrei esse exercício com Vetor na Internet para ser resolvido. O que não estou conseguindo é colocar para imprimir os números pares e impares digitados, o que aparece é apenas o último número par e impar digitado.

Algúem poderia me ajudar a resolver esse exercício?

Segue abaixo o exercício.

1) Faça um programa em Pascal que carregue um vetor de seis elementos numéricos inteiros, calcule e mostre:

a) A quantidade de números pares; (Conseguir resolver)

b.) Quais os números pares;

c) A quantidade de números ímpares; (Conseguir resolver)

d) Quais os números ímpares

 

Estou utilizado a linguagem Pascal e o programa PASCAL ZIM!.

 

Program Calculo ;

var
numero,vpar,vimpar     : array [1..6] of Integer; 
I,J,P,qtd_par,qtd_impar: Integer;

Begin
qtd_par  :=0;
qtd_impar:=0;

 // ENTRADA E PROCESSAMENTO DOS DADOS. 

 For I:= 1 to 6 do
    Begin
 	 Write(' Digite o ',I,' número: ');
 	 read(numero[i]);

 	 If numero[i] mod 2 = 0 then        			// Se o número for PAR.
 	 	Begin
 	 	 qtd_par:=qtd_par+1;
	 for P:= 1 to 6 do vpar[P]:= numero[i];
         end;

 	 If numero[i] mod 2 = 1 then			       // Se o número for IMPAR.
 	 	Begin
 	 	 qtd_impar:=qtd_impar+1;
 	 	 for J:= 1 to 6 do vimpar[J]:= numero[i];
	end;
 	end;

 // IMPRESSÃO DOS DADOS

 Write(' A quantidade de números pares foi....: ',qtd_par);
 Writeln;
 Write(' A quantidade de números impares foi..: ',qtd_impar);
 Writeln;

  For P:=1 to 6 do Writeln(' Os números pares é/são....: ',vpar[P]);   	  
 Writeln;   
  For J:=1 to 6 do Writeln(' Os números impares é/são..: ',vimpar[J]);   	  

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Amigo, segue abaixo programa corrigido, espero ter ajudado.

 

Program Calculo ;

var
numero,vpar,vimpar     : array [1..6] of Integer; 
numPar, numImpar, I, P : integer;


Begin

numPar := 0;
numImpar := 0;

 // ENTRADA E PROCESSAMENTO DOS DADOS. 

 For I:= 1 to 6 do
    Begin
 	 Write(' Digite o ',I,' número: ');
 	 read(numero[i]);

 	 If numero[i] mod 2 = 0 then        			// Se o número for PAR.
 	   begin
 	     vpar[i] := numero[i];
 	     numPar := numPar + 1;
 	   end;  

 	 If numero[i] mod 2 > 0 then			       // Se o número for IMPAR.
 	   begin
         vimpar[i] := numero[i];
         numImpar := numImpar + 1;
       end;
 	end;

 // IMPRESSÃO DOS DADOS
 Write(' A quantidade de números pares foi....: ',numPar);
 Writeln;
 Write(' A quantidade de números impares foi..: ',numImpar);
 Writeln;

 // Visualização dos numeros pares
 if numPar > 0 then
   begin
     Writeln('Relação dos Numeros Pares');
     for p := 1 to 6 do
       begin
         if (numPar[p] > 0) then
            Writeln(numPar[p]);
       end;
   end    
 else
   begin
       Writeln('Não Houve Numeros Pares');
   end;

 // Visualização dos numeros Impares
 if numImpar > 0 then
   begin
     Writeln('Relação dos Numeros Impares');
     for p := 1 to 6 do
       begin
         if numImpar[p] > 0 then
            Writeln(numImpar[p]);
       end;
   end    
 else
   begin
       Writeln('Não Houve Numeros Impares');
   end;

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Valdery, muito obrigado por sua resposta.

Me ajudou muito, pois já tinha dias que estava procurando a solução e não encontrava, com uma mudança que para quem sabe é simples você resolveu, mas para quem está aprendendo é um pouco complicado de visualizar.

 

 

Obrigado por me ajudar.

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Valdery, muito obrigado por sua resposta.

Me ajudou muito, pois já tinha dias que estava procurando a solução e não encontrava, com uma mudança que para quem sabe é simples você resolveu, mas para quem está aprendendo é um pouco complicado de visualizar.

 

 

Obrigado por me ajudar.

 

Até mais.

 

 

"Compartilhar Conhecimento. Útil para quem ensina e para quem aprende, a união faz a força"

Compartilhar este post


Link para o post
Compartilhar em outros sites
program vetor_par_ou_impar;
uses Crt;
var
mat:array [1..6] of integer;
l:integer;
p,i:integer;

begin

 //LEITURA
 for l:= 1 to 6 do begin
  write('Digite Numero: ');
   readln(mat[l]);
 end;

 //IMPRESSÃO DOS PARES 
 writeln('');
  writeln('Numeros Pares:');
   for l:= 1 to 6 do begin
    if mat[l] mod 2 = 0 then begin

    writeln(mat[l]);
     p:=p+1;;
    end;
   end;
writeln('Total de Numero Pares : ',p);

//IMPRESSÃO DOS IMPARES
writeln('');
writeln('Numeros IMPares:');
 for l:= 1 to 6 do begin
  if mat[l] mod 2 = 1 then begin
   writeln(mat[l]);
    i:=i+1;;
  end;
 end;
writeln('Total de Numero IMPares : ',i);
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.