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

10 . нужно было написать код программы, которая продемонстрирует работу сортировки вставками. (т.е. прочитать массив и затем выводить его после каждой вставки). написала, вроде - бы хорошо работает. но вот почему - то выводит одну и ту же строку по два type array_type = array [1..1000] of int64; procedure insertsort(var a: array_type; n: int64); var i, j, l, s: integer; begin for i : = 2 to n do begin l : = a[i]; j : = i - 1; while (j > = 1) and (a[j] > l) do begin a[j + 1] : = a[j]; j : = j - 1; end; a[j + 1] : = l; for s : = 1 to n do write(a[s], ' '); writeln(); end; end; var a: array_type; i, n: int64; begin readln(n); for i : = 1 to n do read(a[i]); insertsort(a, n); for i : = 1 to n do write(a[i], ' '); end.

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