Задачка в Pascale, никак не получается..

Задачка в Pascale, никак не получается..Здравствуйте, с праздником!

Надо на курсовую, в суть задания вник, но как написать в программе - не пойму все никак.. Может у кого будут соображения?

Дан массив размера N. Продублировать в нем элементы с четными номерами (2, 4, ..). Условной оператор не использовать. Исходный массив отсортировать в порядке невозрастания. Числа сформировать с помощью генератора случайных чисел.

Насколько я понимаю, программа должна выглядеть так:

1 2 2 3 4 4 5 6 6 и так далее, в зависимости от величины N. Для сортировки использовал "пузырьковой" метод, то есть метод сортировки обменом. Но само задание сделать никак не удается. Очень прошу помочь знающих и понимающих людей в решении данного вопроса.
Гость
Ответ(ы) на вопрос:
Гость
я так понимаю, что другой массив использовать не слудует, поэтому так nmax=100; var a:array[1..nmax] of integer; maxn,temp,i,j,n:integer; flag:boolean; begin readln(n); randomize; for i:=1 to n do begin a[ i ]:=random(100); write(a[ i ],); end; writeln; j:=1; repeat flag:=true; for i:=1 to n-j do if a[ i ] < a[ i+1 ] then begin temp:=a[ i ]; a[ i ]:=a[ i+1 ]; a[ i+1 ]:=temp; flag:=false end; until flag; for i:=1 to n do write(a[ i ],); writeln; i:=2; maxn:=n div 2+n; repeat for j:=n downto i+1 do a[ j+1 ]:=a [j ]; n:=n+1; a[ i+1 ]:=a[ i ]; i:=i+3; until n=maxn; for i:=1 to n do write(a[ i ],); readln end.
Гость
А While- условный оператор, Если нет, можно писать While (a mod 2)=0 do begin for n:=k downto i do {k-количество элементов в массиве} begin a[n+1]:=a[n]; end; end; И будет пахать.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы