
Очень срочно. даю 100 пунктов.Pascal ABC.Если не сдам, будет 3 за четверть((((((((((((((Написать
программу, которая сортирует массив ПО УБЫВАНИЮ и ищет в нем элемент, равный X (это число вводится с клавиатуры). Использовать двоичный поиск.

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

var
l, i , n, z, j,r,m, key: integer;
a: array [1..100] of integer;
begin
readln(key, n);
for i := 1 to n do
read(a[i]);
for i := 1 to n-1 do
for j := i to n do
if a[i] < a[j] then
begin
z := a[i];
a[i] := a[j];
a[j] := z
end;
l := 1;
r := n + 1;
While l < r - 1 do
begin
m := (l + r) div 2;
if a[m] < key then r := m
else l := m;
end;
if a[l] = key then WriteLn(l);
end.



Программа на языке Pascal:
```pascal program SearchAndSort; var arr: array[1..10] of integer; // пример массива из 10 элементов x, i, j, temp, first, last, middle: integer;
begin // заполняем массив случайными числами randomize; for i := 1 to 10 do arr[i] := random(100); // случайные числа от 0 до 99
// сортировка массива по убыванию for i := 1 to 10 do for j := i+1 to 10 do if arr[i] < arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end;
// вывод отсортированного массива writeln('Отсортированный массив по убыванию:'); for i := 1 to 10 do write(arr[i], ' ');
// ввод числа X с клавиатуры writeln; writeln('Введите число X для поиска:'); readln(x);
// двоичный поиск элемента, равного X first := 1; last := 10; middle := (first + last) div 2;
while (first <= last) and (arr[middle] <> x) do begin if x < arr[middle] then first := middle + 1 else last := middle - 1; middle := (first + last) div 2; end;
if arr[middle] = x then writeln('Элемент ', x, ' найден в массиве на позиции ', middle) else writeln('Элемент ', x, ' не найден в массиве');
end. ```
Это программа на языке Pascal, которая сначала заполняет массив случайными числами, затем сортирует его по убыванию. После этого программа запрашивает число X для поиска и применяет двоичный поиск для поиска этого числа в отсортированном массиве. Если число X найдено, программа выводит его позицию в массиве, если нет - сообщает об этом.
Надеюсь, это поможет вам выполнить задание. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili