Fabio Matos 0 Denunciar post Postado Janeiro 26, 2011 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
Valdery 0 Denunciar post Postado Janeiro 26, 2011 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
Fabio Matos 0 Denunciar post Postado Janeiro 26, 2011 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
Valdery 0 Denunciar post Postado Janeiro 27, 2011 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
Weigon 0 Denunciar post Postado Fevereiro 3, 2011 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