/
akryukov
/
programming-basics
Обзор
Документация
Войти
/
akryukov
/
programming-basics
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
java/tasks 16.html
975 строк
48 KB
Alexander Kryukov
move task 2033, 5108, 6956, 7225 to separate practice
02 ноя 2025, 13:49
02 ноя 2025, 13:49
e90e62e
Код
Авторство
О чём код?
<!DOCTYPE html><html lang="ru"><head><meta charset='utf-8'/><title>16 Сортировка вставкой</title><style>.check_single { margin:15px; border:1px solid black; padding:5px; width:calc(100% - 40px); } sqrt val { border-top: 1px solid black; } sqrt:before { content:"\221A"; } .section { counter-reset:section; } .section h3:after { counter-increment:section; content: " " counter(section); } table { border-collapse:collapse; } .check_values, .check_values_v2 { width:100%; counter-reset:test_case; } .check_values td:first-child::before { counter-increment:test_case; content: counter(test_case); } table td, table th { border:1px solid black; text-align:center; } .check_values td:first-child, .check_values_v2 td:first-child{ width:40px; } .check_values td, .check_values_v2 td { max-width: 450px; } .lab_nav ol { list-style:none; } .nav { position:fixed; top:0; right:0; margin:15px; clear:both; } .nav ul{ list-style-type:none; padding:0; float:left; } .nav li { margin:2px; border:1px solid black; } .nav li a { display:block; padding:7px; } .task_block { width:80%; page-break-inside:avoid; padding:10px; display:block; } .task_block:target{ background-color:lightgrey; } .task_block:target .task_id{ color:white; } .task_id { float:right; color:lightgrey; } .quiz_block { width:80%; } .quiz_block:target{ background-color:lightgrey; } .task_desc { margin:5px; } .example_image { width:200px; } .lab_nav { width:80%; overflow:auto; } .check_values .preformatted, .preformatted { font-family:monospace; white-space-collapse:preserve; white-space:pre; text-wrap:pretty; text-align:left; padding:10px; } .stream_values tr td:nth-child(3) { border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values tr:nth-child(2) td:nth-child(2) { border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr td:nth-child(1){ border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr.test_row td:nth-child(2){ text-align:right; } .stream_values tr td:nth-child(2){ border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values .preformatted{ padding: 0; } .stream_values tr.test_row td { border-top-width:1px; } .stream_values tr.test_row td:first-of-type { border-top-width:1px; border-bottom-width:1px; text-align:center; width:15px; } .stream_values tr:last-of-type td { border-bottom-width:1px; } .stream_values { width:100%; } formula { font-weight:bold; text-align:center; vertical-align:middle; } fraction { display:inline-block; text-align:center; vertical-align:middle; font-weight:bold; } formula .abs{ border-left: solid black 1px; border-right: solid black 1px; padding: 2px; } numerator { display:block; border-bottom:2px solid black; } denominator { display:block; } .comment{ color:darkgrey; } .step{ display:none; } .step:last-child, .step:target{ display:block; } .step:target ~ .step:last-child{ display:none; } .console{ background-color:black; color:white; width:300px; } .zoom{ background-color:lightgrey; font-size:40pt; padding:0 10px; } .task_block:target .zoom { background-color:white; }</style><meta name="author" content="Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2019"/></head><body class='section'><a name='heading'><h1>Сортировка вставкой</h1></a><div class='lab_nav'>Другие темы<ol> <li>1 <a href='tasks 1.html'>Печать текста на экран</a></li> <li>2 <a href='tasks 2.html'>Заполнение шаблона данными от пользователя</a></li> <li>3 <a href='tasks 3.html'>Организация вычислений</a></li> <li>4 <a href='tasks 4.html'>Проверка исходных данных</a></li> <li>5 <a href='tasks 5.html'>Запуск программы с известными исходными данными</a></li> <li>6 <a href='tasks 6.html'>Взаимоисключающие случаи</a></li> <li>7 <a href='tasks 7.html'>Работа с интервалами значений</a></li> <li>8 <a href='tasks 8.html'>Реорганизация повторяющихся действий</a></li> <li>9 <a href='tasks 9.html'>Обработка неизвестного объема данных</a></li> <li>10 <a href='tasks 10.html'>Вложенные циклы</a></li> <li>11 <a href='tasks 11.html'>Базовые операции с массивами</a></li> <li>12 <a href='tasks 12.html'>Перестановки элементов массива</a></li> <li>13 <a href='tasks 13.html'>Использование числовых массивов</a></li> <li>14 <a href='tasks 14.html'>Вычисление агрегатов</a></li> <li>15 <a href='tasks 15.html'>Поиск в массиве</a></li> <li>16 <a href='tasks 16.html'>Сортировка вставкой</a></li> <li>17 <a href='tasks 17.html'>Строки</a></li> <li>18 <a href='tasks 18.html'>Чтение файлов</a></li> <li>19 <a href='tasks 19.html'>Запись в файлы</a></li> <li>20 <a href='tasks 20.html'>Возврат значения</a></li> <li>21 <a href='tasks 21.html'>Перехват исключений</a></li> <li>22 <a href='tasks 22.html'>Выбрасывание исключений</a></li> <li>23 <a href='tasks 23.html'>Составные типы данных</a></li> <li>24 <a href='tasks 24.html'>Внутреннее состояние</a></li> <li>25 <a href='tasks 25.html'>Коллекции</a></li> <li>26 <a href='tasks 26.html'>Рекурсия</a></li> <li>27 <a href='tasks 27.html'>Даты</a></li> <li>28 <a href='tasks 28.html'>Комбинаторика</a></li> <li>29 <a href='tasks 29.html'>SQL СУБД</a></li> <li>30 <a href='tasks 30.html'>Псевдослучайные числа</a></li> <li>31 <a href='tasks 31.html'>Реализация стандартных интерфейсов</a></li> <li>32 <a href='tasks 32.html'>Использование самописных интерфейсов</a></li> </ol></div><div class='nav'><ul><li><a href='#heading'>^</a></li><li><a href='#task7035' class='example'>1*</a><li><a href='#task1522'>2</a><li><a href='#task1431'>3</a><li><a href='#task9271'>4</a><li><a href='#task8769'>5</a><li><a href='#task4707'>6</a><li><a href='#task1392'>7</a><li><a href='#task6492'>8</a><li><a href='#task1794'>9</a><li><a href='#task9182'>10</a><li><a href='#task5541'>11</a><li><a href='#task7066'>12</a></ul></div><div id='task7035' class='task_block'> <div class='task_id'>7035</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Нужно найти минимальное число и его индекс. </div> <ol start='1'><li>В начале работы запомните индекс минимального как 0.</li><li>Затем просматривайте каждый элемент массива.</li><li>Если просматриваемый элемент массива меньше, чем элемент на индексе минимального, то запомните индекс просматриваемого</li></ol><table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные ()</th><th>Результат</th></tr> <tr><td>1</td><td>12 5 7 8 3 4 2</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 12 на индексе 0 и значение 5 на индексе 1 Вместо 0 запоминаю 1 Сравниваю значение 5 на индексе 1 и значение 7 на индексе 2 Сравниваю значение 5 на индексе 1 и значение 8 на индексе 3 Сравниваю значение 5 на индексе 1 и значение 3 на индексе 4 Вместо 1 запоминаю 4 Сравниваю значение 3 на индексе 4 и значение 4 на индексе 5 Сравниваю значение 3 на индексе 4 и значение 2 на индексе 6 Вместо 4 запоминаю 6 В массиве {12,5,7,8,3,4,2} минимальный элемент это 2 на индексе 6 </td></tr> <tr><td>2</td><td>2 3 4 5 12</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 2 на индексе 0 и значение 3 на индексе 1 Сравниваю значение 2 на индексе 0 и значение 4 на индексе 2 Сравниваю значение 2 на индексе 0 и значение 5 на индексе 3 Сравниваю значение 2 на индексе 0 и значение 12 на индексе 4 В массиве {2,3,4,5,12} минимальный элемент это 2 на индексе 0 </td></tr> <tr><td>3</td><td>3 4 1 2 3 4 1 2 3 1 2</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 3 на индексе 0 и значение 4 на индексе 1 Сравниваю значение 3 на индексе 0 и значение 1 на индексе 2 Вместо 0 запоминаю 2 Сравниваю значение 1 на индексе 2 и значение 2 на индексе 3 Сравниваю значение 1 на индексе 2 и значение 3 на индексе 4 Сравниваю значение 1 на индексе 2 и значение 4 на индексе 5 Сравниваю значение 1 на индексе 2 и значение 1 на индексе 6 Сравниваю значение 1 на индексе 2 и значение 2 на индексе 7 Сравниваю значение 1 на индексе 2 и значение 3 на индексе 8 Сравниваю значение 1 на индексе 2 и значение 1 на индексе 9 Сравниваю значение 1 на индексе 2 и значение 2 на индексе 10 В массиве {3,4,1,2,3,4,1,2,3,1,2} минимальный элемент это 1 на индексе 2 </td></tr> <tr><td>4</td><td>4 2 3 4 3 2</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 4 на индексе 0 и значение 2 на индексе 1 Вместо 0 запоминаю 1 Сравниваю значение 2 на индексе 1 и значение 3 на индексе 2 Сравниваю значение 2 на индексе 1 и значение 4 на индексе 3 Сравниваю значение 2 на индексе 1 и значение 3 на индексе 4 Сравниваю значение 2 на индексе 1 и значение 2 на индексе 5 В массиве {4,2,3,4,3,2} минимальный элемент это 2 на индексе 1 </td></tr> <tr><td>5</td><td>4 4 4 4 4 3 8 9</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 1 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 2 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 3 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 4 Сравниваю значение 4 на индексе 0 и значение 3 на индексе 5 Вместо 0 запоминаю 5 Сравниваю значение 3 на индексе 5 и значение 8 на индексе 6 Сравниваю значение 3 на индексе 5 и значение 9 на индексе 7 В массиве {4,4,4,4,4,3,8,9} минимальный элемент это 3 на индексе 5 </td></tr> <tr><td>6</td><td>4 4 4 4</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 1 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 2 Сравниваю значение 4 на индексе 0 и значение 4 на индексе 3 В массиве {4,4,4,4} минимальный элемент это 4 на индексе 0 </td></tr> <tr><td>7</td><td>4 3</td><td class='preformatted'>Ход решения: Начинаю и запоминаю 0 Сравниваю значение 4 на индексе 0 и значение 3 на индексе 1 Вместо 0 запоминаю 1 В массиве {4,3} минимальный элемент это 3 на индексе 1 </td></tr> </table> </div> <div id='task1522' class='task_block'> <div class='task_id'>1522</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - числа, разделенные символом "_". Найти разницу между максимальным и минимальным элементом. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (N)</th><th>Результат (sum)</th></tr> <tr><td>1</td><td>9_8_7_6_5_4</td><td class='preformatted'>Ход решения: Промежуточное минимальное 8 Промежуточное минимальное 7 Промежуточное минимальное 6 Промежуточное минимальное 5 Промежуточное минимальное 4 Итоговое минимальное 4 Итоговое максимальное 9 Разница 5 </td></tr> <tr><td>2</td><td>5_9_1_6_7_3</td><td class='preformatted'>Ход решения: Промежуточное максимальное 9 Промежуточное минимальное 1 Итоговое минимальное 1 Итоговое максимальное 9 Разница 8 </td></tr> <tr><td>3</td><td>100_5_64_3_87</td><td class='preformatted'>Ход решения: Промежуточное минимальное 5 Промежуточное минимальное 3 Итоговое минимальное 3 Итоговое максимальное 100 Разница 97 </td></tr> <tr><td>4</td><td>3_4_5_6_7_8</td><td class='preformatted'>Ход решения: Промежуточное максимальное 4 Промежуточное максимальное 5 Промежуточное максимальное 6 Промежуточное максимальное 7 Промежуточное максимальное 8 Итоговое минимальное 3 Итоговое максимальное 8 Разница 5 </td></tr> <tr><td>5</td><td>8_8_8_8_8_8</td><td class='preformatted'>Ход решения: Итоговое минимальное 8 Итоговое максимальное 8 Разница 0 </td></tr> <tr><td>6</td><td></td><td class='preformatted'>Исходная строка пуста </td></tr> <tr><td>7</td><td>5_-5_0</td><td class='preformatted'>Ход решения: Промежуточное минимальное -5 Итоговое минимальное -5 Итоговое максимальное 5 Разница 10 </td></tr> </table> </div> <div id='task1431' class='task_block'> <div class='task_id'>1431</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Нужно найти два наибольших числа. Если есть два одинаковых числа с наибольшим значением, то вывести их оба. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (data)</th><th>Результат</th></tr> <tr><td>1</td><td>2 5 4 3 12</td><td class='preformatted'>Два наибольших числа:12 5 </td></tr> <tr><td>2</td><td>3 3 3 9 28</td><td class='preformatted'>Два наибольших числа:28 9 </td></tr> <tr><td>3</td><td>10 0 3 33</td><td class='preformatted'>Два наибольших числа:33 10 </td></tr> <tr><td>4</td><td>31 17 0 0</td><td class='preformatted'>Два наибольших числа:31 17 </td></tr> <tr><td>5</td><td>48 0 0 7</td><td class='preformatted'>Два наибольших числа:48 7 </td></tr> <tr><td>6</td><td>24 37 2 8</td><td class='preformatted'>Два наибольших числа:37 24 </td></tr> <tr><td>7</td><td>0 49 0 9</td><td class='preformatted'>Два наибольших числа:49 9 </td></tr> <tr><td>8</td><td>2 2 5 5</td><td class='preformatted'>Два наибольших числа:5 5 </td></tr> <tr><td>9</td><td>9 8 7 9</td><td class='preformatted'>Два наибольших числа:9 9 </td></tr> <tr><td>10</td><td>-9 -8 -4 -9</td><td class='preformatted'>Два наибольших числа:-4 -8 </td></tr> <tr><td>11</td><td>2</td><td class='preformatted'>Максимум 2. В массиве 1 элемент. </td></tr> <tr><td>12</td><td>1000000</td><td class='preformatted'>Максимум 1000000. В массиве 1 элемент. </td></tr> <tr><td>13</td><td>2 3</td><td class='preformatted'>Два наибольших числа:3 2 </td></tr> <tr><td>14</td><td>5 5</td><td class='preformatted'>Два наибольших числа:5 5 </td></tr> </table> </div> <div id='task9271' class='task_block'> <div class='task_id'>9271</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Найти минимальное число и вычесть его из всех элементов массива. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (data)</th><th>Результат</th></tr> <tr><td>1</td><td>5 4 6 2 3 1</td><td class='preformatted'>Минимальное число находится на индексе 5 и равно 1 из 5 вычитаю 1 из 4 вычитаю 1 из 6 вычитаю 1 из 2 вычитаю 1 из 3 вычитаю 1 из 1 вычитаю 1 Результат: 4 3 5 1 2 0 </td></tr> <tr><td>2</td><td>-1 2 3 4 -1 2</td><td class='preformatted'>Минимальное число находится на индексе 0 и равно -1 из -1 вычитаю -1 из 2 вычитаю -1 из 3 вычитаю -1 из 4 вычитаю -1 из -1 вычитаю -1 из 2 вычитаю -1 Результат: 0 3 4 5 0 3 </td></tr> <tr><td>3</td><td>3 4 1 2 3 4 1 2 3 1 2</td><td class='preformatted'>Минимальное число находится на индексе 2 и равно 1 из 3 вычитаю 1 из 4 вычитаю 1 из 1 вычитаю 1 из 2 вычитаю 1 из 3 вычитаю 1 из 4 вычитаю 1 из 1 вычитаю 1 из 2 вычитаю 1 из 3 вычитаю 1 из 1 вычитаю 1 из 2 вычитаю 1 Результат: 2 3 0 1 2 3 0 1 2 0 1 </td></tr> <tr><td>4</td><td>4 2 3 4 3 2</td><td class='preformatted'>Минимальное число находится на индексе 1 и равно 2 из 4 вычитаю 2 из 2 вычитаю 2 из 3 вычитаю 2 из 4 вычитаю 2 из 3 вычитаю 2 из 2 вычитаю 2 Результат: 2 0 1 2 1 0 </td></tr> <tr><td>5</td><td>4 4 4 4 4 3 2 1</td><td class='preformatted'>Минимальное число находится на индексе 7 и равно 1 из 4 вычитаю 1 из 4 вычитаю 1 из 4 вычитаю 1 из 4 вычитаю 1 из 4 вычитаю 1 из 3 вычитаю 1 из 2 вычитаю 1 из 1 вычитаю 1 Результат: 3 3 3 3 3 2 1 0 </td></tr> <tr><td>6</td><td>4 4 4 4</td><td class='preformatted'>Минимальное число находится на индексе 0 и равно 4 из 4 вычитаю 4 из 4 вычитаю 4 из 4 вычитаю 4 из 4 вычитаю 4 Результат: 0 0 0 0 </td></tr> <tr><td>7</td><td></td><td class='preformatted'>Массив пуст </td></tr> <tr><td>8</td><td>4 3</td><td class='preformatted'>Минимальное число находится на индексе 1 и равно 3 из 4 вычитаю 3 из 3 вычитаю 3 Результат: 1 0 </td></tr> <tr><td>9</td><td>101 200 300 200 600 700</td><td class='preformatted'>Минимальное число находится на индексе 0 и равно 101 из 101 вычитаю 101 из 200 вычитаю 101 из 300 вычитаю 101 из 200 вычитаю 101 из 600 вычитаю 101 из 700 вычитаю 101 Результат: 0 99 199 99 499 599 </td></tr> </table> </div> <div id='task8769' class='task_block'> <div class='task_id'>8769</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит числа from и to и данные - целые числа, разделенные пробелами. Напечатать элементы, у которых индекс находится между from и to включительно. Между элементами с индексами from и to включительно нужно найти индекс минимального числа и его значение. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='3'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>data</th><th>from</th><th>to</th></tr> <tr><td>1</td><td>5 6 7 8 5 6</td><td>1</td><td>3</td><td class='preformatted'>Фрагмент массива: 6 7 8 Минимальное среди них: 5 на индексе 0 </td></tr> <tr><td>2</td><td>3 4 4 2 3 4 1 2 3 1 2</td><td>8</td><td>10</td><td class='preformatted'>Фрагмент массива: 3 1 2 Минимальное среди них: 1 на индексе 9 </td></tr> <tr><td>3</td><td>11 12 13 5 11 12</td><td>1</td><td>4</td><td class='preformatted'>Фрагмент массива: 12 13 5 11 Минимальное среди них: 5 на индексе 3 </td></tr> <tr><td>4</td><td>4 2 3 4 3 2</td><td>0</td><td>5</td><td class='preformatted'>Фрагмент массива: 4 2 3 4 3 2 Минимальное среди них: 2 на индексе 1 </td></tr> <tr><td>5</td><td>4 4 4 4 4 3 2 1</td><td>0</td><td>5</td><td class='preformatted'>Фрагмент массива: 4 4 4 4 4 3 Минимальное среди них: 3 на индексе 5 </td></tr> <tr><td>6</td><td>1 2 3 4 1 2</td><td>4</td><td>2</td><td class='preformatted'>Фрагмент массива: 3 4 1 Минимальное среди них: 1 на индексе 0 </td></tr> <tr><td>7</td><td>4 4 4 4</td><td>1</td><td>7</td><td class='preformatted'>Число to должно быть в интервале [0, размер массива) </td></tr> <tr><td>8</td><td>4 3</td><td>-1</td><td>0</td><td class='preformatted'>Число from должно быть в интервале [0, размер массива) </td></tr> <tr><td>9</td><td>1 2 3 4</td><td>5</td><td>10</td><td class='preformatted'>Число from должно быть в интервале [0, размер массива) </td></tr> </table> </div> <div id='task4707' class='task_block'> <div class='task_id'>4707</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Реализовать алгоритм сортировки по возрастанию: </div> <ol start='1'><li>Найдите индекс минимального значения в текущем списке</li><li>Обменяйте значение на этом индексе со значением первого неотсортированного индекса</li><li>Отсортируйте хвост списка, исключив из рассмотрения уже отсортированные элементы</li></ol><table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (array)</th><th>Результат</th></tr> <tr><td>1</td><td>9 8 9 1 1 5 1 1</td><td class='preformatted'>9 8 9 1 1 5 1 1 Минимальное значение 1 на индексе 3. Первая неотсортированная позиция: 0 1 8 9 9 1 5 1 1 Минимальное значение 1 на индексе 4. Первая неотсортированная позиция: 1 1 1 9 9 8 5 1 1 Минимальное значение 1 на индексе 6. Первая неотсортированная позиция: 2 1 1 1 9 8 5 9 1 Минимальное значение 1 на индексе 7. Первая неотсортированная позиция: 3 1 1 1 1 8 5 9 9 Минимальное значение 5 на индексе 5. Первая неотсортированная позиция: 4 1 1 1 1 5 8 9 9 Минимальное значение 8 на индексе 5. Первая неотсортированная позиция: 5 1 1 1 1 5 8 9 9 Минимальное значение 9 на индексе 6. Первая неотсортированная позиция: 6 1 1 1 1 5 8 9 9 </td></tr> <tr><td>2</td><td>1 2 3 4 1 3 4 4 4 4</td><td class='preformatted'>1 2 3 4 1 3 4 4 4 4 Минимальное значение 1 на индексе 0. Первая неотсортированная позиция: 0 1 2 3 4 1 3 4 4 4 4 Минимальное значение 1 на индексе 4. Первая неотсортированная позиция: 1 1 1 3 4 2 3 4 4 4 4 Минимальное значение 2 на индексе 4. Первая неотсортированная позиция: 2 1 1 2 4 3 3 4 4 4 4 Минимальное значение 3 на индексе 4. Первая неотсортированная позиция: 3 1 1 2 3 4 3 4 4 4 4 Минимальное значение 3 на индексе 5. Первая неотсортированная позиция: 4 1 1 2 3 3 4 4 4 4 4 Минимальное значение 4 на индексе 5. Первая неотсортированная позиция: 5 1 1 2 3 3 4 4 4 4 4 Минимальное значение 4 на индексе 6. Первая неотсортированная позиция: 6 1 1 2 3 3 4 4 4 4 4 Минимальное значение 4 на индексе 7. Первая неотсортированная позиция: 7 1 1 2 3 3 4 4 4 4 4 Минимальное значение 4 на индексе 8. Первая неотсортированная позиция: 8 1 1 2 3 3 4 4 4 4 4 </td></tr> <tr><td>3</td><td>5 5 5 5 5</td><td class='preformatted'>5 5 5 5 5 Минимальное значение 5 на индексе 0. Первая неотсортированная позиция: 0 5 5 5 5 5 Минимальное значение 5 на индексе 1. Первая неотсортированная позиция: 1 5 5 5 5 5 Минимальное значение 5 на индексе 2. Первая неотсортированная позиция: 2 5 5 5 5 5 Минимальное значение 5 на индексе 3. Первая неотсортированная позиция: 3 5 5 5 5 5 </td></tr> <tr><td>4</td><td>1 9 1 30 9 1 100</td><td class='preformatted'>1 9 1 30 9 1 100 Минимальное значение 1 на индексе 0. Первая неотсортированная позиция: 0 1 9 1 30 9 1 100 Минимальное значение 1 на индексе 2. Первая неотсортированная позиция: 1 1 1 9 30 9 1 100 Минимальное значение 1 на индексе 5. Первая неотсортированная позиция: 2 1 1 1 30 9 9 100 Минимальное значение 9 на индексе 4. Первая неотсортированная позиция: 3 1 1 1 9 30 9 100 Минимальное значение 9 на индексе 5. Первая неотсортированная позиция: 4 1 1 1 9 9 30 100 Минимальное значение 30 на индексе 5. Первая неотсортированная позиция: 5 1 1 1 9 9 30 100 </td></tr> <tr><td>5</td><td>1000000 1 1</td><td class='preformatted'>1000000 1 1 Минимальное значение 1 на индексе 1. Первая неотсортированная позиция: 0 1 1000000 1 Минимальное значение 1 на индексе 2. Первая неотсортированная позиция: 1 1 1 1000000 </td></tr> </table> </div> <div id='task1392' class='task_block'> <div class='task_id'>1392</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Найти медиану для множества введенных элементов. Медиана — это число, которое является серединой множества чисел. Если множество содержит четное количество чисел, нужно вычислить среднее для двух чисел, находящихся в середине множества. Результат вывести с точностью 2 знака после запятой. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (numbers)</th><th>Результат</th></tr> <tr><td>1</td><td>9 8 9 1 1 5 1 1</td><td class='preformatted'>Отсортированный массив: 1 1 1 1 5 8 9 9 В массиве четное количество элементов Медиана: (1 + 5) / 2 = 3,00 </td></tr> <tr><td>2</td><td>1 9 8 9 1 1 5 1 1</td><td class='preformatted'>Отсортированный массив: 1 1 1 1 1 5 8 9 9 В массиве НЕчетное количество элементов Медиана: 1 </td></tr> <tr><td>3</td><td>1 2 3 4 1 3 4 4 4 4</td><td class='preformatted'>Отсортированный массив: 1 1 2 3 3 4 4 4 4 4 В массиве четное количество элементов Медиана: (3 + 4) / 2 = 3,50 </td></tr> <tr><td>4</td><td>5 5 5 5 5</td><td class='preformatted'>Отсортированный массив: 5 5 5 5 5 В массиве НЕчетное количество элементов Медиана: 5 </td></tr> <tr><td>5</td><td></td><td class='preformatted'>Массив пуст </td></tr> <tr><td>6</td><td>13</td><td class='preformatted'>Отсортированный массив: 13 В массиве НЕчетное количество элементов Медиана: 13 </td></tr> <tr><td>7</td><td>5000 1000</td><td class='preformatted'>Отсортированный массив: 1000 5000 В массиве четное количество элементов Медиана: (1000 + 5000) / 2 = 3000,00 </td></tr> <tr><td>8</td><td>1 9 1 30 9 1 100</td><td class='preformatted'>Отсортированный массив: 1 1 1 9 9 30 100 В массиве НЕчетное количество элементов Медиана: 9 </td></tr> <tr><td>9</td><td>1000000 1 1</td><td class='preformatted'>Отсортированный массив: 1 1 1000000 В массиве НЕчетное количество элементов Медиана: 1 </td></tr> </table> </div> <div id='task6492' class='task_block'> <div class='task_id'>6492</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит два массива данных одинакового размера. Первый массив содержит символы. Второй - числа. Для каждого элемента первого массива в результате получится отдельный <i>столбец</i>. Количество символов в этом <i>столбце</i> равно значению элемента из второго массива на том же индексе. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>Данные сверху(chars)</th><th>Данные слева(amounts)</th></tr> <tr> <td>1</td><td>a s d</td><td>3 2 1</td><td class='preformatted'>Наибольшая высота столбца: 3 asd as. a.. </td></tr> <tr> <td>2</td><td>z x c v b</td><td>1 3 5 0 4</td><td class='preformatted'>Наибольшая высота столбца: 5 zxc.b .xc.b .xc.b ..c.b ..c.. </td></tr> <tr> <td>3</td><td>q w e r t y</td><td>6 2 8 3 1 5</td><td class='preformatted'>Наибольшая высота столбца: 8 qwerty qwer.y q.er.y q.e..y q.e..y q.e... ..e... ..e... </td></tr> <tr> <td>4</td><td>a s d f</td><td>3 3 3</td><td class='preformatted'>Длины массивов не совпадают </td></tr> <tr> <td>5</td><td>z x c</td><td>1 2 3 4</td><td class='preformatted'>Длины массивов не совпадают </td></tr> <tr> <td>6</td><td></td><td>1 2 3 4</td><td class='preformatted'>Отсутствуют данные о символах </td></tr> <tr> <td>7</td><td>f d s a</td><td></td><td class='preformatted'>Отсутствуют данные о количествах </td></tr> </table> </div> <div id='task1794' class='task_block'> <div class='task_id'>1794</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит массив чисел. Найти наибольшую разницу между соседними элементами массива. Сравнивать нужно разницу между следующим и предыдущим значением. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (data)</th><th>Результат</th></tr> <tr><td>1</td><td>9 6 5 4 2</td><td class='preformatted'>Разница между элементами на индексах 0 и 1 равна -3 Эта разница считается максимальной Разница между элементами на индексах 1 и 2 равна -1 Эта разница считается максимальной Разница между элементами на индексах 2 и 3 равна -1 Разница между элементами на индексах 3 и 4 равна -2 Наибольшая разница между соседними элементами равна -1 </td></tr> <tr><td>2</td><td>3 5 6 10 1</td><td class='preformatted'>Разница между элементами на индексах 0 и 1 равна 2 Эта разница считается максимальной Разница между элементами на индексах 1 и 2 равна 1 Разница между элементами на индексах 2 и 3 равна 4 Эта разница считается максимальной Разница между элементами на индексах 3 и 4 равна -9 Наибольшая разница между соседними элементами равна 4 </td></tr> <tr><td>3</td><td>250 500 999 1000</td><td class='preformatted'>Разница между элементами на индексах 0 и 1 равна 250 Эта разница считается максимальной Разница между элементами на индексах 1 и 2 равна 499 Эта разница считается максимальной Разница между элементами на индексах 2 и 3 равна 1 Наибольшая разница между соседними элементами равна 499 </td></tr> <tr><td>4</td><td>2</td><td class='preformatted'>Массив должен содержать хотя бы 2 элемента </td></tr> <tr><td>5</td><td>10 0</td><td class='preformatted'>Разница между элементами на индексах 0 и 1 равна -10 Эта разница считается максимальной Наибольшая разница между соседними элементами равна -10 </td></tr> <tr><td>6</td><td></td><td class='preformatted'>Массив пуст </td></tr> </table> </div> <div id='task9182' class='task_block'> <div class='task_id'>9182</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - символы, разделенные пробелами. Создать новый массив и записать в него элементы первого массива без дубликатов. </div> <ol start='1'><li>Отсортируйте массив по возрастанию</li><li>Просмотрите элементы массива, если следующий не равен текущему, то увеличьте значение счетчика.</li></ol><table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (numbers)</th><th>Результат</th></tr> <tr><td>1</td><td>9 8 7 6</td><td class='preformatted'>Отсортированный массив: 6 7 8 9 Сравниваю 6 и 7 Значения различаются Сравниваю 7 и 8 Значения различаются Сравниваю 8 и 9 Значения различаются Количество различных значений 4 </td></tr> <tr><td>2</td><td>9 9 7 7</td><td class='preformatted'>Отсортированный массив: 7 7 9 9 Сравниваю 7 и 7 Сравниваю 7 и 9 Значения различаются Сравниваю 9 и 9 Количество различных значений 2 </td></tr> <tr><td>3</td><td>9 2 7 5</td><td class='preformatted'>Отсортированный массив: 2 5 7 9 Сравниваю 2 и 5 Значения различаются Сравниваю 5 и 7 Значения различаются Сравниваю 7 и 9 Значения различаются Количество различных значений 4 </td></tr> <tr><td>4</td><td></td><td class='preformatted'>Массив пуст </td></tr> <tr><td>5</td><td>9 1 8 100 8 21 50 9 1</td><td class='preformatted'>Отсортированный массив: 1 1 8 8 9 9 21 50 100 Сравниваю 1 и 1 Сравниваю 1 и 8 Значения различаются Сравниваю 8 и 8 Сравниваю 8 и 9 Значения различаются Сравниваю 9 и 9 Сравниваю 9 и 21 Значения различаются Сравниваю 21 и 50 Значения различаются Сравниваю 50 и 100 Значения различаются Количество различных значений 6 </td></tr> <tr><td>6</td><td>4 4 4 4</td><td class='preformatted'>Отсортированный массив: 4 4 4 4 Сравниваю 4 и 4 Сравниваю 4 и 4 Сравниваю 4 и 4 Количество различных значений 1 </td></tr> </table> </div> <div id='task5541' class='task_block'> <div class='task_id'>5541</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - символы, разделенные пробелами. Создать новый массив и записать в него элементы первого массива без дубликатов. </div> <ol start='1'><li>Отсортируйте массив по возрастанию</li><li>Просмотрите элементы массива, если следующий не равен текущему, то увеличьте значение счетчика.</li><li>Создайте новый массив с длиной, равной полученному счетчику.</li><li>Просмотрите элементы массива повторно. Если следующий не равен текущему, то запишите этот элемент в новый массив.</li></ol><table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (numbers)</th><th>Результат</th></tr> <tr><td>1</td><td>9 8 7 6</td><td class='preformatted'>Отсортированный массив: 6 7 8 9 Количество различных значений 4 Записываю 6 на индекс 0 массива различных Сравниваю 6 и 7 Записываю 7 на индекс 1 массива различных Сравниваю 7 и 8 Записываю 8 на индекс 2 массива различных Сравниваю 8 и 9 Записываю 9 на индекс 3 массива различных Массив различных: 6 7 8 9 </td></tr> <tr><td>2</td><td>9 9 7 7</td><td class='preformatted'>Отсортированный массив: 7 7 9 9 Количество различных значений 2 Записываю 7 на индекс 0 массива различных Сравниваю 7 и 7 Сравниваю 7 и 9 Записываю 9 на индекс 1 массива различных Сравниваю 9 и 9 Массив различных: 7 9 </td></tr> <tr><td>3</td><td>9 2 7 5</td><td class='preformatted'>Отсортированный массив: 2 5 7 9 Количество различных значений 4 Записываю 2 на индекс 0 массива различных Сравниваю 2 и 5 Записываю 5 на индекс 1 массива различных Сравниваю 5 и 7 Записываю 7 на индекс 2 массива различных Сравниваю 7 и 9 Записываю 9 на индекс 3 массива различных Массив различных: 2 5 7 9 </td></tr> <tr><td>4</td><td></td><td class='preformatted'>Массив пуст </td></tr> <tr><td>5</td><td>9 1 8 100 8 21 50 9 1</td><td class='preformatted'>Отсортированный массив: 1 1 8 8 9 9 21 50 100 Количество различных значений 6 Записываю 1 на индекс 0 массива различных Сравниваю 1 и 1 Сравниваю 1 и 8 Записываю 8 на индекс 1 массива различных Сравниваю 8 и 8 Сравниваю 8 и 9 Записываю 9 на индекс 2 массива различных Сравниваю 9 и 9 Сравниваю 9 и 21 Записываю 21 на индекс 3 массива различных Сравниваю 21 и 50 Записываю 50 на индекс 4 массива различных Сравниваю 50 и 100 Записываю 100 на индекс 5 массива различных Массив различных: 1 8 9 21 50 100 </td></tr> <tr><td>6</td><td>4 4 4 4</td><td class='preformatted'>Отсортированный массив: 4 4 4 4 Количество различных значений 1 Записываю 4 на индекс 0 массива различных Сравниваю 4 и 4 Сравниваю 4 и 4 Сравниваю 4 и 4 Массив различных: 4 </td></tr> </table> </div> <div id='task7066' class='task_block'> <div class='task_id'>7066</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит массив, состоящий из пар элементов. Элементы массива разделены символом ';'. Элементы в паре разделены символом _. Нужно отсортировать массив по возрастанию числа и сохранить пары элементов вместе. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (array)</th><th>Результат</th></tr> <tr><td>1</td><td>9_nine;8_eight;7_seven;6_six;5_five;4_four;3_three</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 6 равен 3_three 3_three 8_eight 7_seven 6_six 5_five 4_four 9_nine Шаг 1 Минимальный элемент на индексе 5 равен 4_four 3_three 4_four 7_seven 6_six 5_five 8_eight 9_nine Шаг 2 Минимальный элемент на индексе 4 равен 5_five 3_three 4_four 5_five 6_six 7_seven 8_eight 9_nine Шаг 3 Минимальный элемент на индексе 3 равен 6_six 3_three 4_four 5_five 6_six 7_seven 8_eight 9_nine Шаг 4 Минимальный элемент на индексе 4 равен 7_seven 3_three 4_four 5_five 6_six 7_seven 8_eight 9_nine Шаг 5 Минимальный элемент на индексе 5 равен 8_eight 3_three 4_four 5_five 6_six 7_seven 8_eight 9_nine </td></tr> <tr><td>2</td><td>9_nine;3_three;6_six;5_five;100_onehundred;4_four</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 1 равен 3_three 3_three 9_nine 6_six 5_five 100_onehundred 4_four Шаг 1 Минимальный элемент на индексе 5 равен 4_four 3_three 4_four 6_six 5_five 100_onehundred 9_nine Шаг 2 Минимальный элемент на индексе 3 равен 5_five 3_three 4_four 5_five 6_six 100_onehundred 9_nine Шаг 3 Минимальный элемент на индексе 3 равен 6_six 3_three 4_four 5_five 6_six 100_onehundred 9_nine Шаг 4 Минимальный элемент на индексе 5 равен 9_nine 3_three 4_four 5_five 6_six 9_nine 100_onehundred </td></tr> <tr><td>3</td><td>2_one;2_two;2_three;2_four;2_five</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 0 равен 2_one 2_one 2_two 2_three 2_four 2_five Шаг 1 Минимальный элемент на индексе 1 равен 2_two 2_one 2_two 2_three 2_four 2_five Шаг 2 Минимальный элемент на индексе 2 равен 2_three 2_one 2_two 2_three 2_four 2_five Шаг 3 Минимальный элемент на индексе 3 равен 2_four 2_one 2_two 2_three 2_four 2_five </td></tr> <tr><td>4</td><td>9_blue;17_green;-2_white;100_black;53_red</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 2 равен -2_white -2_white 17_green 9_blue 100_black 53_red Шаг 1 Минимальный элемент на индексе 2 равен 9_blue -2_white 9_blue 17_green 100_black 53_red Шаг 2 Минимальный элемент на индексе 2 равен 17_green -2_white 9_blue 17_green 100_black 53_red Шаг 3 Минимальный элемент на индексе 4 равен 53_red -2_white 9_blue 17_green 53_red 100_black </td></tr> <tr><td>5</td><td>18_square;4_square;17_square;5_square;10000_square;999_square</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 1 равен 4_square 4_square 18_square 17_square 5_square 10000_square 999_square Шаг 1 Минимальный элемент на индексе 3 равен 5_square 4_square 5_square 17_square 18_square 10000_square 999_square Шаг 2 Минимальный элемент на индексе 2 равен 17_square 4_square 5_square 17_square 18_square 10000_square 999_square Шаг 3 Минимальный элемент на индексе 3 равен 18_square 4_square 5_square 17_square 18_square 10000_square 999_square Шаг 4 Минимальный элемент на индексе 5 равен 999_square 4_square 5_square 17_square 18_square 999_square 10000_square </td></tr> <tr><td>6</td><td></td><td class='preformatted'>Массив пуст </td></tr> <tr><td>7</td><td>4_four_thousands;5_five_thousands</td><td class='preformatted'>Шаг 0 Минимальный элемент на индексе 0 равен 4_four_thousands 4_four_thousands 5_five_thousands </td></tr> </table> </div> Версия 202510. Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2026. <a href='https://github.com/AKryukov92/programming-basics'>Основной репозиторий</a></body></html>