Как распечатать массивы в две строки,один под другим? (№2 в картинке)
program Massiv;
var
a: array [1..10] of integer;
b: array [1..10] of integer;
N:integer;
j:integer; // переменная для подсчета размера нового массива
i:integer; // счетчик в цикле
begin
// ввод размера масива
writeln('Введите N (N<=10)');
readln(N);
writeln('Значения массива А');
// ввод значений масива
for i:=1 to n do begin write('a[',i,']=');readln(A); end;
// решение
j:=0; // начальное значение размера нового массива
for i:=1 to n do begin // цикл для обхода массива
if (a mod 2)=0 then // условие для формирования нового массива
begin
inc(j); // увеличение размера формирующегося массива
b[j]:=a; // присвоение значения элементу массива b
end;
end;
// вывод результата
Writeln('Ответ');
Writeln('Размер полученного массива ',j);
Write('B[]: '); for i:=1 to j do Write(B,' ');
end.
Введите N (N<=10)
10
Значения массива А
a[1]=2
a[2]=4
a[3]=1
a[4]=3
a[5]=9
a[6]=7
a[7]=8
a[8]=6
a[9]=5
a[10]=10
Ответ
Размер полученного массива 5
B[]: 2 4 8 6 10 Введите N (N<=10)
Зачем ты делаешь readln, если массив должен быть заполнен случайными числами?.
Код:
program problem_2;
var
A: array [1..10] of integer;
B: array [1..10] of integer;
i, j: integer;
begin
j := 0;
randomize;
for i := 1 to 10 do
begin
A[i] := -10 + random(20);
if (A[i] mod 2) = 0 then
begin
Inc(j);
B[j] := A[i];
end;
end;
Write('A[]: ');
for i := 1 to 10 do Write(A[i], ' ');
Writeln();
Write('B[]: ');
for i := 1 to j do Write(B[i], ' ');
end.
var
A: array [1..10] of integer;
B: array [1..10] of integer;
i, j: integer;
begin
j := 0;
randomize;
for i := 1 to 10 do
begin
A[i] := -10 + random(20);
if (A[i] mod 2) = 0 then
begin
Inc(j);
B[j] := A[i];
end;
end;
Write('A[]: ');
for i := 1 to 10 do Write(A[i], ' ');
Writeln();
Write('B[]: ');
for i := 1 to j do Write(B[i], ' ');
end.
random(21). Иначе будут [-10;9]
Код:
-9 + random(19)