02-05-2012, 21:56
Hola, tengo un problemita con un ejercicio y supuse que me podrían ayudar =P
El enunciado dice:
Dado un conjunto de valores enteros, calcular e informar
a) Cuántos valores cero hubo
b) Promedio de valores positivos
c) Sumatoria de valores negativos
Por otro lado, una de las subconsignas es:
Se dan N valores, pero el proceso deberá finalizar si se procesan todos los valores o si la cantidad de ceros supera a cuatro.
Ahora, mi problema es que no sé cómo lograr que el programa pare cuando haya más de 4 ceros y me tire los resultados de los números hasta ese momento =/ Probé cosas pero no solo no se detiene el programa sino que cuando sale del for se cierra JAJAJA Les dejo abajo lo que hice de código para el problema de base...
Gracias por su tiempo!
El enunciado dice:
Dado un conjunto de valores enteros, calcular e informar
a) Cuántos valores cero hubo
b) Promedio de valores positivos
c) Sumatoria de valores negativos
Por otro lado, una de las subconsignas es:
Se dan N valores, pero el proceso deberá finalizar si se procesan todos los valores o si la cantidad de ceros supera a cuatro.
Ahora, mi problema es que no sé cómo lograr que el programa pare cuando haya más de 4 ceros y me tire los resultados de los números hasta ese momento =/ Probé cosas pero no solo no se detiene el programa sino que cuando sale del for se cierra JAJAJA Les dejo abajo lo que hice de código para el problema de base...
Gracias por su tiempo!
Program M29;
var
cantceros,n,prom,sumpos,cantpos,k:word;
sumneg,valor:integer;
begin
cantceros:=0;
sumpos:=0;
sumneg:=0;
cantpos:=0;
writeln('Ingrese cantidad de valores');
readln(n);
for k:=1 to n do
begin
writeln('Ingrese valor');
readln(valor);
if valor = 0
then cantceros := cantceros + 1
else
begin
if valor > 0
then
begin
sumpos:= sumpos + valor;
cantpos := cantpos + 1
end
else sumneg:= sumneg + valor
end;
end;
writeln('Cantidad de ceros: ',cantceros);
prom:= sumpos div cantpos;
writeln('Promedio de números positivos: ',prom);
writeln('Suma de números negativos: ',sumneg);
end.