Есть ответ 👍

Умоляю с по заполнить массив случайными числами, отсортировать его. ввести х, используя двоичный поиск определить есть ли в массиве число равное х посчитать количество сравнений на языке pascal! с понятным решением без tarray и логических функций!

174
395
Посмотреть ответы 2

Ответы на вопрос:

pspoff
4,5(7 оценок)

Const   n = 20; var   a: array[1..n] of integer;   i,j,k,m,li,ri,mi,s,x: integer; begin   write('введите ключ поиска (0-49): '); read(x);   { заполнить массив значениями }   randomize;   writeln('элементы массива');   for i : = 1 to n do   begin       a[i] : = random(50);       write(a[i]: 3);   end;   writeln;   { сортировка }   for i : = 1 to n-1 do       for j : = 1 to n-i do           if a[j] > a[j+1] then           begin s : = a[j]; a[j] : = a[j+1]; a[j+1] : = s end;   writeln('отсортированный по возрастанию массив');   for i : = 1 to n do write(a[i]: 3);   writeln;   { бинарный поиск }   li: =1; ri: =n; k: =0;   while li< ri do begin       mi: =(li+ri) div 2;       if a[mi]< x then li: =mi+1 else ri: =mi;       inc(k)   end;   if a[ri]=x then m: =ri else m: =0;   { вывод результатов }   if m> 0 then writeln('найден элемент № ',m,'; число шагов равно ',k)   else writeln('такого элемента в массиве нет'); end. тестовое решение: введите ключ поиска (0-49): 25 элементы массива   33 47  1 28 31 36 15 25 49 35 30 48 24  0 39 35  7 20 25  0 отсортированный по возрастанию массив   0  0  1  7 15 20 24 25 25 28 30 31 33 35 35 36 39 47 48 49 найден элемент № 8; число шагов равно 4 вариант с процедурами const   n = 20; type   v=array[1..n] of integer; procedure sortbyselect(var a: v); {сортировка выбором} var   i, j, k: integer;   x: integer; begin   for i : = 1 to n do       begin       k : = i;       x : = a[i];       for j : = i+1 to n do           if a[j]< x then           begin               k : = j;               x : = a[j]           end;           a[k] : = a[i];           a[i] : = x       end end;   procedure binsearch(var a: v; key: integer; var k,m: integer); var   li,ri,mi: integer; begin   li: =1; ri: =n; k: =0;   while li< ri do begin       mi: =(li+ri) div 2;       if a[mi]< key then li: =mi+1 else ri: =mi;       inc(k)   end;   if a[ri]=key then m: =ri else m: =-1 end; var   a: v;   i,k,m,x: integer; begin   write('введите ключ поиска (0-49): '); read(x);   { заполнить массив значениями }   randomize;   writeln('элементы массива');   for i : = 1 to n do   begin       a[i] : = random(50);       write(a[i]: 3);   end;   writeln;   sortbyselect(a); { сортировка выбором }   writeln('отсортированный по возрастанию массив');   for i : = 1 to n do write(a[i]: 3);   writeln;   binsearch(a,x,k,m); { бинарный поиск }   if m> 0 then writeln('найден элемент № ',m,'; число шагов равно ',k)   else writeln('такого элемента в массиве нет'); end. тестовое решение: введите ключ поиска (0-49): 32 элементы массива   46 24 32 32 23 32  4 26 47  4 44  8 39  8 15 39 11 45  5 16 отсортированный по возрастанию массив   4  4  5  8  8 11 15 16 23 24 26 32 32 32 39 39 44 45 46 47 найден элемент № 12; число шагов равно 5

100 67 1 36 60 35 150 180 100 400 50

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS