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

Напишите программку, работающую с одним массивом из 10 элементов целочисленного типа. Программка просит юзера заполнить массив целыми значениями, потом упорядочивает этот массив по возрастанию, используя сортировку способом обычного выбора. После этого программка просит пользователя ввести одно целое значение, и, используя алгоритм двоичного поиска, определяет, имеется ли данное значение в массиве. В процессе сортировки программа считает, сколько раз выполнялись перестановки частей (обмен значениями 2-ух различных частей считается за одну перестановку), и сколько раз производились сопоставления значений частей массива с какими или иными значениями. Количество сравнений и перестановок выводится на экран перед завершением работы программы.
Pascal ABC

Задать свой вопрос
Урсатьева Ксюха
Малюсенько баллов :(
1 ответ
Const
   N = 10;
Var
   A:array[1..N] of integer;
   i,j,M,B,C,p,s:integer;
Begin
Randomize;
Наполнение и вывод
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(N);
    Write(' ',A[i]);
    End;
WriteLn;
Сортировка
p:=0;
For i:= 1 to N do
    Begin
    M:=i;
    For j:= i+1 to N do
        if A[j]lt;A[M] then M:=j;
    if Mlt;gt;i then
       Begin
       B:=A[M];
       A[M]:=A[i];
       A[i]:=B;
       p:=p+1;
       Вывод каждого шага сортировки
       Write('Перестановка ',p,':');
       For j:= 1 to N do
           Write(' ',A[j]);
       WriteLn;
       End;
    End;
WriteLn;
Write('Отсортированный массив:');
For i:= 1 to N do
    Write(' ',A[i]);
Бинарный поиск
WriteLn;
Write('Введите число: ');ReadLn(C);
m:=N div 2;
i:=1;
j:=N;
s:=0;
While (A[m]lt;gt;C)and(ilt;=j) do
   Begin
   if C gt; A[m] then i:=m+1
   else j:=m-1;
   s:=s+1;
   m:=(i+j) div 2;
   End;
WriteLn;
if A[m]=C then WriteLn('В массиве есть данное число')
else WriteLn('В массиве нет данного числа');
WriteLn('Кол-во перестановок за сортировку: ',p);
WriteLn('Кол-во сопоставлений за поиск: ',s);
End.

Примеры:
Начальный массив: 0 4 5 4 1 2 6 7 0 7
Перестановка 1: 0 0 5 4 1 2 6 7 4 7
Перестановка 2: 0 0 1 4 5 2 6 7 4 7
Перестановка 3: 0 0 1 2 5 4 6 7 4 7
Перестановка 4: 0 0 1 2 4 5 6 7 4 7
Перестановка 5: 0 0 1 2 4 4 6 7 5 7
Перестановка 6: 0 0 1 2 4 4 5 7 6 7
Перестановка 7: 0 0 1 2 4 4 5 6 7 7

Отсортированный массив: 0 0 1 2 4 4 5 6 7 7
Введите число: 3

В массиве нет данного числа
Кол-во перестановок за сортировку: 7
Кол-во сопоставлений за поиск: 4

Начальный массив: 4 4 1 3 4 4 5 0 7 2
Перестановка 1: 0 4 1 3 4 4 5 4 7 2
Перестановка 2: 0 1 4 3 4 4 5 4 7 2
Перестановка 3: 0 1 2 3 4 4 5 4 7 4
Перестановка 4: 0 1 2 3 4 4 4 5 7 4
Перестановка 5: 0 1 2 3 4 4 4 4 7 5
Перестановка 6: 0 1 2 3 4 4 4 4 5 7

Отсортированный массив: 0 1 2 3 4 4 4 4 5 7
Введите число: 5

В массиве есть данное число
Кол-во перестановок за сортировку: 6
Кол-во сопоставлений за поиск: 2
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт