Напишите программу, которая сортирует массив по убыванию и ищет в нем все значения, равные введенному числу. PascalABC
Массив вводится?
Const n=20; var a:array[1..n] of integer; i,j,t,x,i1,i2:integer; begin Randomize; Writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=Random(21); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-i do if a[j] 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; write('x = '); readln(x); i1:=1; i2:=n; repeat i:=(i1+i2) div 2; if a[i]>x then i1:=(i1+i2) div 2+1; if a[i] until (a[i]=x)or(i1>i2); if a[i]=x then begin writeln('Искомый(ые) номер(а) элемента(ов):'); while (i>0)and(a[i]=x) do i:=i-1; i:=i+1; while (i<=n)and(a[i]=x) do begin write(i,' '); i:=i+1; end;<br> end else writeln('Элемент не найден'); writeln; end. Пример: Исходный массив: 15 4 16 3 7 10 3 1 18 6 18 2 7 11 10 16 2 10 7 12 Отсортированный массив: 18 18 16 16 15 12 11 10 10 10 7 7 7 6 4 3 3 2 2 1 x = 10 Искомый(ые) номер(а) элемента(ов): 8 9 10