Решите в паскале, . 1)дан массив, отсортировать все его элементы до максимального по возрастанию. 2)дан массив, отсортировать все его элементы от минимального по возрастанию. 3)дан массив, отсортировать все его элементы от максимального до минимального по убыванию. методом пузырька
278
331
Ответы на вопрос:
1. const n=20; var a: array[1..n] of integer; max,imax,i,j,t: integer; begin randomize; writeln('исходный массив: '); for i: =1 to n do begin a[i]: =random(51)-25; write(a[i],' ') end; writeln; max: =a[1]; imax: =1; for i: =2 to n do if a[i]> max then begin max: =a[i]; imax: =i; end; writeln('max = ',max); for i: =1 to imax-1 do for j: =1 to imax-i do if a[j]> a[j+1] then begin t: =a[j]; a[j]: =a[j+1]; a[j+1]: =t end; writeln('отсортированный массив: '); for i: =1 to n do write(a[i],' '); writeln; end. пример: исходный массив: -5 -17 -19 4 -10 16 21 -23 22 24 -5 19 11 -24 6 -25 13 3 9 0 max = 24 отсортированный массив: -23 -19 -17 -10 -5 4 16 21 22 24 -5 19 11 -24 6 -25 13 3 9 0 2. const n=20; var a: array[1..n] of integer; min,imin,i,j,t: integer; begin randomize; writeln('исходный массив: '); for i: =1 to n do begin a[i]: =random(51)-25; write(a[i],' '); end; writeln; min: =a[1]; imin: =1; for i: =2 to n do if a[i]< min then begin min: =a[i]; imin: =i; end; writeln('min = ',min); for i: =1 to n-imin-1 do for j: =imin to n-i do if a[j]> a[j+1] then begin t: =a[j]; a[j]: =a[j+1]; a[j+1]: =t end; writeln('отсортированный массив: '); for i: =1 to n do write(a[i],' '); writeln; end. пример: исходный массив: 3 -24 -16 -9 -25 3 -25 17 -22 -3 8 2 -7 -8 -8 -24 -23 12 24 -24 min = -25 отсортированный массив: 3 -24 -16 -9 -25 -25 -24 -24 -23 -22 -8 -8 -7 -3 2 3 8 12 17 24 3. const n=20; var a: array[1..n] of integer; max,imax,min,imin,i,j,t: integer; begin randomize; writeln('исходный массив: '); for i: =1 to n do begin a[i]: =random(51)-25; write(a[i],' ') end; writeln; max: =a[1]; imax: =1; min: =a[1]; imin: =1; for i: =2 to n do begin if a[i]> max then begin max: =a[i]; imax: =i; end; if a[i]< min then begin min: =a[i]; imin: =i; end; end; writeln('max = ',max,' min = ',min); if imax> imin then begin for i: =1 to imax-imin-1 do for j: =imin to imax-i do if a[j]> a[j+1] then begin t: =a[j]; a[j]: =a[j+1]; a[j+1]: =t end end else begin for i: =1 to imin-imax-1 do for j: =imax to imin-i do if a[j]< a[j+1] then begin t: =a[j]; a[j]: =a[j+1]; a[j+1]: =t end; end; writeln('отсортированный массив: '); for i: =1 to n do write(a[i],' '); writeln; end. пример: исходный массив: -12 13 1 -17 -13 -10 23 5 8 -11 -9 -2 17 19 10 -5 14 10 -20 -9 max = 23 min = -20 отсортированный массив: -12 13 1 -17 -13 -10 23 19 17 14 10 10 8 5 -2 -5 -9 -11 -20 -9
Pascalabc.net 3.3.5, сборка 1650 от 01.04.2018 внимание! если программа не работает, обновите версию! procedure bubblesort(a: array of integer; descending: boolean: =false; // нужна ли сортировка по невозрастанию u: integer: =-1; // начальный индекс v: integer: =-1); // конечный индекс // простая пузырьковая сортировка элементов с индексами с u по v begin // обеспечим корректность параметров u и v if u< 0 then u: =0; var n: =a.length; if (v< 0) or (v> =n) then v: =n-1; if u> v then swap(u,v) else if u=v then exit; // собственно, сортировка if descending then begin // по невозрастанию for var i: =v-1 downto u do for var j: =u to i do if a[j]< a[j+1] then swap(a[j],a[j+1]) end else begin for var i: =v-1 downto u do // по неубыванию for var j: =u to i do if a[j]> a[j+1] then swap(a[j],a[j+1]) end end; begin write(': '); var a: =arrrandom; a.println; var (imin,imax): =(a.indexmin,a.indexmax); var b: =copy(a); write('1: '); bubblesort(b,false,0,imax); b.println; b: =copy(a); write('2: '); bubblesort(b,false,imin); b.println; b: =copy(a); write('3: '); bubblesort(b,true,imax,imin); b.println end. пример : 70 61 10 72 17 84 19 35 83 47 1: 10 17 61 70 72 84 19 35 83 47 2: 70 61 10 17 19 35 47 72 83 84 3: 70 61 84 72 17 10 19 35 83 47
3 правильный
Объяснение:
Сначала на 3 назад это док потом в фото и доклад
Популярно: Информатика
-
supermosyagina08.05.2021 14:06
-
axinoffdaniil01.03.2023 12:42
-
amina34028.12.2021 22:04
-
goratkin200518.01.2022 23:00
-
MrAlexCross22.02.2023 10:21
-
Алина1344529.05.2023 03:25
-
airflash137229.06.2020 12:20
-
pety123401.12.2020 04:23
-
azhiltsova15ozb14212.02.2022 02:38
-
OlyaSara07.02.2021 10:12