Const a=10; type mas=array[1..a] of integer; mas1=array[1..3] of byte; var R, Q, P:mas; X:mas1; i:byte;
procedure Form(var R, Q, P:mas); var sr, sq, sp:byte; begin sr:=0; sq:=0; sp:=0; for i:=1 to a do begin if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i]; if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i]; if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i]; end; x[1]:=sr; x[2]:=sq; x[3]:=sp; writeln('Massiv x'); for i:=1 to 3 do write(x[i]:3);
end;
begin randomize; for i:=1 to a do begin R[i]:=random(10); Q[i]:=random(10); P[i]:=random(10); end; writeln('Massiv r'); for i:=1 to a do write(R[i]:3); writeln; writeln('Massiv Q'); for i:=1 to a do write(Q[i]:3); writeln; writeln('Massiv P'); for i:=1 to a do write(P[i]:3); end.
Самый простой вариант - подсчитать сумму четных и нечётных через цикл, в котором берём остатки от деления. Можно начать с конца и соответственно начать подсчитывать сумму только от первого числа с конца не равного 0. Подсчитываем через целочисленное деление на круглое число и нахождение остатка при деление на один. Данные, чередуя, прибавляем к разным переменным(пусть будут x1 и x2). Затем проверяем остаток от деления одной переменной на другую. Если 0 - "Yes", иначе - "No" For i=5 downto 1 do If i Mod 2 = 1 then a:= a+n div (10^(i-1)) mod 10 Else B=B+ div (10^(i-1)) mod 10;
type mas=array[1..a] of integer;
mas1=array[1..3] of byte;
var R, Q, P:mas;
X:mas1;
i:byte;
procedure Form(var R, Q, P:mas);
var sr, sq, sp:byte;
begin
sr:=0;
sq:=0;
sp:=0;
for i:=1 to a do
begin
if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i];
if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i];
if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i];
end;
x[1]:=sr;
x[2]:=sq;
x[3]:=sp;
writeln('Massiv x');
for i:=1 to 3 do
write(x[i]:3);
end;
begin
randomize;
for i:=1 to a do
begin
R[i]:=random(10);
Q[i]:=random(10);
P[i]:=random(10);
end;
writeln('Massiv r');
for i:=1 to a do
write(R[i]:3);
writeln;
writeln('Massiv Q');
for i:=1 to a do
write(Q[i]:3);
writeln;
writeln('Massiv P');
for i:=1 to a do
write(P[i]:3);
end.