Var a:array[1..20] of integer; i,j,k,p:integer; begin for i:=1 to 20 do read(a[i]); for i:=1 to 19 do begin k:=i; if odd(i) then continue; for j:=i to 20 do if (a[k]<a[j]) then k:=j; p:=a[i]; a[i]:=a[k]; a[k]:=p; end; for i:=1 to 20 do write(a[i],' '); end.
Вот программа по примитивной логике. Заводим доп.массив, переписываем в него четные эл-ты, сортируем его, отсортированные эл-ты вставляем назад в исходный массив. var i, j, p: integer; a: array[1..20] of integer; b: array[1..10] of integer; begin writeln('Исходный массив: '); for i := 1 to 20 do begin a[i] := random(20) + 1; write(a[i]:3) end; for i := 1 to 20 do if i mod 2 = 0 then begin j := j + 1; b[j] := a[i] end; writeln; for i := 1 to 10 do for j := 1 to 10 do begin if b[i] > b[j] then begin p := b[i]; b[i] := b[j]; b[j] := p end end; for i := 1 to 10 do a[i * 2] := b[i]; writeln('Преобразованный массив: '); for i := 1 to 20 do write(a[i]:3) end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку