Ayuda con programa
Publicado por fernando (5 intervenciones) el 15/05/2012 04:43:41
Necesito ayuda con este codigo, el programa actualmente me pide el ingreso de 8 datos, luego los clasifica en paress e impares para luego sumarlos en grupos separados, para luego decirme cuales son mayoria, el problema esta en que actualmente me pide los numeros hasta que ingrese el numero 0 pero quiero que cuando se ingrese el octavo numero automaticamente empiece a correr los calculos ...
program paresipares;
uses
crt;
var
datonum : integer;
sumapar, sumaimpar : integer;
cuanpar, cuanimp : integer;
termina : boolean;
entrados : array[1..40] of integer;
t, i : integer;
procedure entradanumeros;
begin
writeln('Entrando 0 termina Entradas');
writeln;
termina := true;
i := 1;
while termina <> false do
begin
write('Numero : ');
readln(datonum);
if datonum <> 0 then
begin
entrados[i] := datonum;
i := i + 1;
end;
if datonum = 0 then
termina := false;
if termina = true then
begin
if datonum mod 2 > 0 then
begin
cuanimp := cuanimp + 1;
sumaimpar := sumaimpar + datonum;
end
else
begin
cuanpar := cuanpar + 1;
sumapar := sumapar + datonum;
end;
end;
end;
end;
begin
clrscr;
sumapar := 0;
sumaimpar := 0;
cuanpar := 0;
cuanimp := 0;
entradanumeros;
clrscr;
writeln('La sumatoria de Pares es : ',sumapar);
writeln('La sumatoria de impares es : ',sumaimpar);
writeln('La cantidad numeros pares es : ',cuanpar);
writeln('La cantidad numeros impares es : ',cuanimp);
if cuanpar > 4 then
writeln ('Los numeros pares son mayoria.')
else
writeln ('Los numeros impares son mayoria.');
writeln;
for t := 1 to i - 1 do
write(' ',entrados[t]);
writeln;
writeln('Pulsa [Enter]');
readln;
end.
program paresipares;
uses
crt;
var
datonum : integer;
sumapar, sumaimpar : integer;
cuanpar, cuanimp : integer;
termina : boolean;
entrados : array[1..40] of integer;
t, i : integer;
procedure entradanumeros;
begin
writeln('Entrando 0 termina Entradas');
writeln;
termina := true;
i := 1;
while termina <> false do
begin
write('Numero : ');
readln(datonum);
if datonum <> 0 then
begin
entrados[i] := datonum;
i := i + 1;
end;
if datonum = 0 then
termina := false;
if termina = true then
begin
if datonum mod 2 > 0 then
begin
cuanimp := cuanimp + 1;
sumaimpar := sumaimpar + datonum;
end
else
begin
cuanpar := cuanpar + 1;
sumapar := sumapar + datonum;
end;
end;
end;
end;
begin
clrscr;
sumapar := 0;
sumaimpar := 0;
cuanpar := 0;
cuanimp := 0;
entradanumeros;
clrscr;
writeln('La sumatoria de Pares es : ',sumapar);
writeln('La sumatoria de impares es : ',sumaimpar);
writeln('La cantidad numeros pares es : ',cuanpar);
writeln('La cantidad numeros impares es : ',cuanimp);
if cuanpar > 4 then
writeln ('Los numeros pares son mayoria.')
else
writeln ('Los numeros impares son mayoria.');
writeln;
for t := 1 to i - 1 do
write(' ',entrados[t]);
writeln;
writeln('Pulsa [Enter]');
readln;
end.
Valora esta pregunta


0