
Вопрос задан 30.07.2023 в 00:28.
Предмет Информатика.
Спрашивает Раевская Мира.
Помогите, пожалуйста, написать программу алгоритма поисков и сортировки


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

Отвечает Хасанов Вадим.
uses
Crt;
const
n = 8;
m = 10;
var
A: array[1..m, 1..n] of real;
L, R, i, j, S: integer;
x, k: real;
Sort: boolean;
begin
clrscr;
randomize;
for i := 1 to m do
for j := 1 to n do
A[i, j] := random(100) / 10;
writeln('Матрица A');
repeat
Sort := False;
for i := 1 to m do
for j := 1 to n - 1 do
if A[i, j] > A[i, j + 1] then begin
k := A[i, j];
A[i, j] := A[i, j + 1];
A[i, j + 1] := k;
Sort := True;
end;
until
sort = False;
for i := 1 to m do
begin
for j := 1 to n do
write(A[i, j]:6:1);
writeln;
end;
writeln;
writeln('Ввод x');
readln(x);
for i := 1 to m do
begin
L := 1;
R := n;
while L < R do
begin
j := trunc((L + R) / 2);
if A[i, j] < x then
L := j + 1
else
R := j;
end;
if A[i, R] = x then
writeln('В ', i, ' строке позиция x:', i, ',', R)
else
writeln('В ', i, ' элемент не найден');
end;
readkey;
end.
Crt;
const
n = 8;
m = 10;
var
A: array[1..m, 1..n] of real;
L, R, i, j, S: integer;
x, k: real;
Sort: boolean;
begin
clrscr;
randomize;
for i := 1 to m do
for j := 1 to n do
A[i, j] := random(100) / 10;
writeln('Матрица A');
repeat
Sort := False;
for i := 1 to m do
for j := 1 to n - 1 do
if A[i, j] > A[i, j + 1] then begin
k := A[i, j];
A[i, j] := A[i, j + 1];
A[i, j + 1] := k;
Sort := True;
end;
until
sort = False;
for i := 1 to m do
begin
for j := 1 to n do
write(A[i, j]:6:1);
writeln;
end;
writeln;
writeln('Ввод x');
readln(x);
for i := 1 to m do
begin
L := 1;
R := n;
while L < R do
begin
j := trunc((L + R) / 2);
if A[i, j] < x then
L := j + 1
else
R := j;
end;
if A[i, R] = x then
writeln('В ', i, ' строке позиция x:', i, ',', R)
else
writeln('В ', i, ' элемент не найден');
end;
readkey;
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно! Вот примеры простых алгоритмов поиска и сортировки на языке Python:
Алгоритм линейного поиска:
Линейный поиск просто проходит по элементам списка до тех пор, пока не найдет нужный элемент или не дойдет до конца списка.
pythondef linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i # Возвращаем индекс элемента, если он найден
return -1 # Возвращаем -1, если элемент не найден
# Пример использования:
my_list = [4, 7, 2, 10, 5]
target_element = 10
result = linear_search(my_list, target_element)
if result != -1:
print(f"Элемент {target_element} найден в позиции {result}")
else:
print(f"Элемент {target_element} не найден")
Алгоритм сортировки пузырьком:
Сортировка пузырьком сравнивает пары соседних элементов и меняет их местами, если они стоят в неправильном порядке, продолжая так до тех пор, пока массив не будет полностью отсортирован.
pythondef bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# Пример использования:
my_list = [4, 7, 2, 10, 5]
bubble_sort(my_list)
print("Отсортированный список:", my_list)
Обратите внимание, что это простые алгоритмы для понимания основ работы поиска и сортировки. В реальных приложениях для эффективной работы с большими объемами данных рекомендуется использовать более оптимизированные алгоритмы, такие как двоичный поиск, быстрая сортировка и другие.


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