Задать вопрос
4 декабря, 23:08

Напишите программу, которая сортирует массив по убыванию и ищет в нем все значения, равные введенному числу.

PascalABC

+3
Ответы (1)
  1. 5 декабря, 01:02
    0
    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;

    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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Напишите программу, которая сортирует массив по убыванию и ищет в нем все значения, равные введенному числу. PascalABC ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы