В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Svetakim0934
Svetakim0934
27.02.2020 19:21 •  Информатика

Сортировка выбором (Selection sort) ,Пузырьковая сортировка (Bubble sort), Сортировка вставками (Insertion sort), Сортировка слиянием (Merge sort), Быстрая сортировка (Quick sort).
Описать их,написать как они выполняют функцию и какой по вашему мнению он лучше?

Показать ответ
Ответ:
iriska198501
iriska198501
22.01.2022 03:40

Неправильно написан поиск минимального и максимального элементов:

Program j;

uses crt;

const n=10;

var a: array [1..n] of integer;

i,min,max:integer;

begin

min:=1; max:=1;

Writeln ('Введите элементы массива');

For i:=1 to n do

Begin

Write ('a[',i: 2,']=');

Readln(a[i]);

End;

Writeln ('Контрольный вывод массива: ');

For i:=1 to n do

Writeln('a[',i:2,']=',a[i]:4);

for i:=1 to n do

begin

if a[i]>a[max] then max:=i;

if a[i]<a[min] then min:=i;

end;

writeln('Максимальный элемент массива ',a[max],' под номером ',max);

writeln('Минимальный элемент массива ',a[min],' под номером ',min);

end.

Выделенное жирным шрифтом - исправленный вариант.

Теперь программа корректно ищет и минимальный и максимальный элементы, при том проходя массив полностью, а не до первого совпадения, как было в исходной версии.

0,0(0 оценок)
Ответ:
AsuWi
AsuWi
19.07.2021 05:05

Var

N,A:integer;

Begin

Write('N = ');Read(N);

A:=0;

While N>0 do

   Begin

   if (N mod 10) > A then A:= N mod 10;

   N:=N div 10;

   End;

Write(A)

End.

Var

N,A,B:integer;

C:boolean;

Begin

Write('N = ');Read(N);

A:=-1;

B:=-2;

C:=false;

While N>0 do

   Begin

   if A=B then C:=true;

   if N>0 then

      Begin

      A:=N mod 10;

      N:=N div 10;

      End;

   if A=B then C:=true;

   if N>0 then

      Begin

      B:=N mod 10;

      N:=N div 10;

      End;

   End;

if A=B then C:=true;

if C then Write('Есть')

else Write('Нет')

End.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота