Другие языки программирования и технологии

Из массива целых чисел составить три других, при этом в первом числа кратные 5, во втором 7, а в третьем остальные числа

Помогите, пожалуйста, написать программу в Pascal
Исправление программы Виталия.
Его программа поместит в первый массив все числа с модулем меньше 5, во второй - все с модулем меньше 7, в третий - все остальные.

program N75477638;
соnst
n = 50;
type
TVector = array [1 .. 50] of integer;

procedure WriteArray(a: TVector; n: byte);
var i: byte;
begin
for i := 1 to n do
write(a[і]:5);
writeln
end;

const
k: byte = 0;
l: byte = 0;
m: byte = 0;
var
a, b, c, d: TVector;
i: byte;
begin
randomize;
for i := 1 to n do
begin
a[і] := random(1999) - 999;
if a[і] mod 5 = 0 then
begin
inc(k);
b[k] := a[і]
end;
if a[і] mod 7 = 0 then
begin
inc(l);
c[l] := a[і]
end;
if (a[і] mod 5 <> 0) and (a[і] mod 7 <> 0) then
begin
inc(m);
d[m] := a[і]
end;
end;
writeln('Дан массив: ');
WriteArray(a, n);
writeln('Первый массив (', k, '):');
WriteArray(b, k);
writeln('Второй массив (', l, '):');
WriteArray(c, l);
writeln('Третий массив (', m, '):');
WriteArray(d, m);
readln
end.

КГ
Кирилл Гудков
51 590
Лучший ответ
type Vector = array [1..50] of Integer;
var A,B,C,D : Vector;
n,m,o,p : Byte;
i,j,k,l : Byte;
fl : Boolean;

begin
write('n: ');
readln(n);
m := 0; j := 0;
o := 0; k := 0;
p := 0; l := 0;
for i := 1 to n do
begin
fl := true;

if A[_i] div 5 = 0 then
begin
inc(j);
B[j] := A[_i];
fl := false;
end;

if A[_i] div 7 = 0 then
begin
inc(k);
C[k] := A[_i];
fl := false;
end;

if fl = true then
begin
inc(l);
D[l] := A[_i];
end;

end;

end.

Вместо _i заменишь на i, а то он тут курсив делает

Похожие вопросы