Нужно написать программу на языке Паскаль условие такое: вводится 15 чисел определить каких чисел кратных трём больше положительных или отрицательных
Answers & Comments
Segrif
Var a,p,n,i:integer; begin p := 0; n := 0; for i := 1 to 15 do begin read(a); if a mod 3 = 0 then if a > 0 then p := p + 1 else if a < 0 then n := n + 1 end; if p > n then writeln('Положительных') else if p < n then writeln('Отрицательных') else writeln('Одинаково') end.
{вариант "как-то посложнее"}
var a,i,s:integer; begin s := 0; for i := 1 to 15 do begin read(a); s := s + ord(a mod 3 = 0) * (ord(a > 0) - ord(a < 0)) end; if s > 0 then writeln('Положительных') else if s < 0 then writeln('Отрицательных') else writeln('Одинаково') end.
0 votes Thanks 1
Drakino
Ты можешь по-другому вторую часть написать а то мы такие знаки & не проходили
Segrif
Значит, у вас как-то неправильно отображается текст. Там стоят знаки "больше" (>) и "меньше" (<). Если p больше n, то ... И если p меньше n, то ...
Answers & Comments
begin
p := 0;
n := 0;
for i := 1 to 15 do
begin
read(a);
if a mod 3 = 0 then
if a > 0 then p := p + 1
else
if a < 0 then n := n + 1
end;
if p > n then writeln('Положительных') else
if p < n then writeln('Отрицательных') else
writeln('Одинаково')
end.
{вариант "как-то посложнее"}
var a,i,s:integer;
begin
s := 0;
for i := 1 to 15 do
begin
read(a);
s := s + ord(a mod 3 = 0) * (ord(a > 0) - ord(a < 0))
end;
if s > 0 then writeln('Положительных') else
if s < 0 then writeln('Отрицательных') else
writeln('Одинаково')
end.