Даны два одномерных массива различной размерности. Для каждого из данных одномерных
Даны два одномерных массива различной размерности. Для каждого из заданных одномерных массивов выполнить: из данного одномерного массива случайного размера переписать поочередно в иной массив элементы исходного массива, стоящие на четных местах.
решить с помощью процедур
1 ответ
Передвика
Диана
//PascalABC.NET 3.2 сборка 1318
Var
ar1,ar2:array of integer;
n1,n2,i:integer;
procedure GenNotOdd(var ar1,ar2:array of integer;n:integer);
Var
i,j:integer;
begin
i:=1;
j:=0;
setlength(ar1,n div 2);
while ilt;=n-1 do
begin
ar1[j]:=ar2[i];
inc(j);
i+=2;
end;
end;
procedure SwapArr(var ar1,ar2:array of integer;var n1,n2:integer);
Var
buf:array of integer;
i,j,otbuf:integer;
begin
setlength(buf,n2);
for i:=0 to n2-1 do
buf[i]:=ar2[i];
GenNotOdd(ar2,ar1,n1);
GenNotOdd(ar1,buf,n2);
otbuf:=n2;
n2:=n1 div 2;
n1:=otbuf div 2;
end;
procedure ReadArr(var ar:array of integer;var n:integer);
Var
i:integer;
begin
readln(n);
setlength(ar,n);
for i:=0 to n-1 do
readln(ar[i]);
end;
procedure WriteArr(ar:array of integer;n:integer);
Var
i:integer;
begin
for i:=0 to n-1 do
write(ar[i]:4);
writeln;
end;
begin
ReadArr(ar1,n1);
ReadArr(ar2,n2);
SwapArr(ar1,ar2,n1,n2);
WriteArr(ar1,n1);
WriteArr(ar2,n2);
end.
Пример ввода:
2
1 2
7
1 2 3 4 5 6 7
Пример вывода:
2 4 6
2
Var
ar1,ar2:array of integer;
n1,n2,i:integer;
procedure GenNotOdd(var ar1,ar2:array of integer;n:integer);
Var
i,j:integer;
begin
i:=1;
j:=0;
setlength(ar1,n div 2);
while ilt;=n-1 do
begin
ar1[j]:=ar2[i];
inc(j);
i+=2;
end;
end;
procedure SwapArr(var ar1,ar2:array of integer;var n1,n2:integer);
Var
buf:array of integer;
i,j,otbuf:integer;
begin
setlength(buf,n2);
for i:=0 to n2-1 do
buf[i]:=ar2[i];
GenNotOdd(ar2,ar1,n1);
GenNotOdd(ar1,buf,n2);
otbuf:=n2;
n2:=n1 div 2;
n1:=otbuf div 2;
end;
procedure ReadArr(var ar:array of integer;var n:integer);
Var
i:integer;
begin
readln(n);
setlength(ar,n);
for i:=0 to n-1 do
readln(ar[i]);
end;
procedure WriteArr(ar:array of integer;n:integer);
Var
i:integer;
begin
for i:=0 to n-1 do
write(ar[i]:4);
writeln;
end;
begin
ReadArr(ar1,n1);
ReadArr(ar2,n2);
SwapArr(ar1,ar2,n1,n2);
WriteArr(ar1,n1);
WriteArr(ar2,n2);
end.
Пример ввода:
2
1 2
7
1 2 3 4 5 6 7
Пример вывода:
2 4 6
2
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо
Русский язык.
Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.
Разные вопросы.
Сочинение на тему "Русский язык не сможет умереть!"
Математика.
Приветствую!
Меня зовут Станислав, я представляю компанию under.site.
Хотел бы предложить интересное решение
Разные вопросы.
Масса трёх одинаковых пакетов чая 180г чему равна масса
Математика.
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Облако тегов