Array57. Дан целочисленный массив $$A$$ размера $$N$$. Переписать в новый целочисленный массив $$B$$ того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными: $$A_2, A_4, A_6, …, A_1, A_3, A_5, …$$ . Условный оператор не использовать.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
program Array57; var a,b:array[1..10] of Integer; N,k,k2:Integer; begin Write('N: '); Readln(N); Writeln('A: '); for k:=1 to N do begin write(k,' :'); readln(a[k]); end; k2:=0; K:=1; While(k<=N) do begin inc(k2); b[k2]:=a[k]; k:=k+2; end; K:=2; While(k<=N) do begin inc(k2); b[k2]:=a[k]; k:=k+2; end; writeln(k2,N); Writeln('B(',k2,'):'); for k:=1 to N do writeln(k,' :',b[k]); end. |
Основано на решении от olegst1975:
1 2 3 4 5 6 7 8 9 10 11 12 |
var n,i:integer; a,b:array [1..10]of integer; begin readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n div 2 do b[i]:=a[2*i]; for i:=1 to n div 2 do b[(n div 2)+i]:=a[2*i-1]; for i:=1 to n do writeln(b[i]); end. |
Задачи из раздела Array можно посмотреть здесь.
Хорошо и просто! Может строчку 36 подчистить — не пойму, что это.
От себя
[/crayon]
а вот здесь я бы на вашем месте встал и пошёл пить чай. 🙂
Вы явно устали и усложняете себе жизнь…. очень 🙂
ай… это мне пора пить чай… массив б обязателен, по условию 🙁
удалось, только чуть размазать формулу
Да просто… только выводились сначало не чётные, поправил:
Было:
Стало:
выводит сначала нечетные, 6 строка изменить на