graph TD
A[7]:::box
B[23]:::box
C[15]:::box
D[42]:::box
E[9]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
Лабораторная работа № 5. Алгоритмы сортировки
Теоретические сведения
Пузырьковая сортировка
В пузырьковой сортировке последовательно сравнивается пара соседних элементов. Если необходимо, элементы меняются местами.
Блок-схема алгоритма пузырьковой сортировки показана на Рисунке 1.
Сортировка выбором
В основе алгоритма лежит поиск минимального (или максимального) элемента в неотсортированной части массива. Найденный элемент размещается в конце неотсортированной части массива и поиск подходящего элемента начинается заново.
Блок-схема сортировки выбором показана на Рисунке 2.
Задания для самостоятельной работы
Задания обозначенные значком 📝 выполняются на распечатках или в тетради, обозначенные 💻 - на компьютере в среде программирования.
📝 Задание 1. Пузырьковая сортировка
Дан список. Провести трассировку алгоритма после выполнения каждой итерации внешнего цикла. Используйте блок-схему на рисунке 1.
graph TD
A[12]:::box
B[31]:::box
C[5]:::box
D[18]:::box
E[47]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[3]:::box
B[27]:::box
C[14]:::box
D[39]:::box
E[21]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[8]:::box
B[35]:::box
C[19]:::box
D[44]:::box
E[2]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[11]:::box
B[24]:::box
C[37]:::box
D[6]:::box
E[50]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[16]:::box
B[29]:::box
C[4]:::box
D[33]:::box
E[20]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[10]:::box
B[45]:::box
C[28]:::box
D[13]:::box
E[36]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[17]:::box
B[30]:::box
C[1]:::box
D[48]:::box
E[25]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[22]:::box
B[49]:::box
C[34]:::box
D[7]:::box
E[40]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[26]:::box
B[9]:::box
C[38]:::box
D[43]:::box
E[15]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[32]:::box
B[5]:::box
C[41]:::box
D[18]:::box
E[27]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[46]:::box
B[12]:::box
C[29]:::box
D[3]:::box
E[50]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[14]:::box
B[47]:::box
C[21]:::box
D[8]:::box
E[35]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
graph TD
A[19]:::box
B[42]:::box
C[6]:::box
D[24]:::box
E[37]:::box
classDef box fill:#e0e0e0,stroke:#555,stroke-width:2px,color:#333,rx:10px,ry:10px
💻 Задание 2. Реализация пузырьковой сортировки (sam02.py)
Используйте блок-схему на рисунке 1, чтобы реализовать метод пузырьковой сортировки. В списке хранятся строковые величины.
Критерий сортировки в инструкции ветвления замените исходя из условия для вашего варианта.
Сортировка по убыванию количества символов в строке.
До сортировки: ['яблоко', 'дом', 'программирование', 'кот', 'стол']
После сортировки: ['программирование', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по первым двум буквам слов в алфавитном порядке.
До сортировки: ['яблоко', 'апельсин', 'груша', 'банан', 'абрикос']
После сортировки: ['абрикос', 'апельсин', 'банан', 'груша', 'яблоко']
Сортировка по количеству букв а в слове (по убыванию).
До сортировки: ['ананас', 'банан', 'яблоко', 'груша', 'абрикос']
После сортировки: ['ананас', 'банан', 'абрикос', 'яблоко', 'груша']
Сортировка по результату конкатенации первой и последней буквы слова.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['дом', 'кот', 'мир', 'стол', 'яблоко']
Сортировка по последним двум буквам слов.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['мир', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по возрастанию количества символов в строке.
До сортировки: ['программирование', 'яблоко', 'дом', 'кот', 'стол']
После сортировки: ['дом', 'кот', 'стол', 'яблоко', 'программирование']
Сортировка строк по алфавиту без учёта регистра.
До сортировки: ['Яблоко', 'дом', 'Кот', 'стол', 'Апельсин']
После сортировки: ['Апельсин', 'дом', 'Кот', 'стол', 'Яблоко']
Сортировка по убыванию количества символов в строке.
До сортировки: ['яблоко', 'дом', 'программирование', 'кот', 'стол']
После сортировки: ['программирование', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по первым двум буквам слов.
До сортировки: ['яблоко', 'апельсин', 'груша', 'банан', 'абрикос']
После сортировки: ['абрикос', 'апельсин', 'банан', 'груша', 'яблоко']
Сортировка по количеству букв а в слове.
До сортировки: ['ананас', 'банан', 'яблоко', 'груша', 'абрикос']
После сортировки: ['ананас', 'банан', 'абрикос', 'яблоко', 'груша']
Сортировка по результату конкатенации первой и последней буквы слова.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['дом', 'кот', 'мир', 'стол', 'яблоко']
Сортировка по последним двум буквам слов.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['мир', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по возрастанию количества символов в строке.
До сортировки: ['программирование', 'яблоко', 'дом', 'кот', 'стол']
После сортировки: ['дом', 'кот', 'стол', 'яблоко', 'программирование']
Сортировка строк по алфавиту без учёта регистра.
До сортировки: ['Яблоко', 'дом', 'Кот', 'стол', 'Апельсин']
После сортировки: ['Апельсин', 'дом', 'Кот', 'стол', 'Яблоко']
Используйте следующий шаблон для решения задачи:
def bubbleSort(lst):
# вместо этого комментария запишите код функции
# код после этого комментария оставьте без изменения
slova = input("Введите слова через пробел: ")
# разбиваем строку на слова по пробелу; метод split() вернёт список
s_list = slova.split()
print("До сортировки:", s_list)
bubbleSort(s_list)
print("После сортировки:", s_list)📝 Задание 3. Сортировка выбором
Дан список. Провести трассировку алгоритма. Используйте блок-схему на рисунке 2.
graph TD
A[13]:::box
B[28]:::box
C[4]:::box
D[41]:::box
E[20]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[17]:::box
B[32]:::box
C[6]:::box
D[45]:::box
E[22]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[9]:::box
B[34]:::box
C[11]:::box
D[47]:::box
E[26]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[14]:::box
B[29]:::box
C[3]:::box
D[48]:::box
E[25]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[18]:::box
B[33]:::box
C[7]:::box
D[42]:::box
E[21]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[12]:::box
B[27]:::box
C[5]:::box
D[44]:::box
E[19]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[16]:::box
B[31]:::box
C[8]:::box
D[46]:::box
E[23]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[10]:::box
B[35]:::box
C[2]:::box
D[49]:::box
E[24]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[15]:::box
B[30]:::box
C[1]:::box
D[43]:::box
E[27]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[19]:::box
B[36]:::box
C[9]:::box
D[40]:::box
E[28]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[11]:::box
B[38]:::box
C[4]:::box
D[45]:::box
E[22]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[14]:::box
B[37]:::box
C[6]:::box
D[41]:::box
E[29]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[13]:::box
B[32]:::box
C[8]:::box
D[47]:::box
E[25]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
graph TD
A[17]:::box
B[34]:::box
C[5]:::box
D[42]:::box
E[21]:::box
classDef box fill:#f0f0f0,stroke:#666,stroke-width:2px,color:#222,rx:8px,ry:8px
💻 Задание 4. Реализация сортировки выбором (sam04.py)
Используйте блок-схему на рисунке 2, чтобы реализовать сортировку выбором. В списке хранятся строковые величины.
Критерий сортировки в инструкции ветвления замените исходя из условия для вашего варианта.
Сортировка по убыванию количества символов в строке.
До сортировки: ['яблоко', 'дом', 'программирование', 'кот', 'стол']
После сортировки: ['программирование', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по первым двум буквам слов в алфавитном порядке.
До сортировки: ['яблоко', 'апельсин', 'груша', 'банан', 'абрикос']
После сортировки: ['абрикос', 'апельсин', 'банан', 'груша', 'яблоко']
Сортировка по количеству букв а в слове (по убыванию).
До сортировки: ['ананас', 'банан', 'яблоко', 'груша', 'абрикос']
После сортировки: ['ананас', 'банан', 'абрикос', 'яблоко', 'груша']
Сортировка по результату конкатенации первой и последней буквы слова.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['дом', 'кот', 'мир', 'стол', 'яблоко']
Сортировка по последним двум буквам слов.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['мир', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по возрастанию количества символов в строке.
До сортировки: ['программирование', 'яблоко', 'дом', 'кот', 'стол']
После сортировки: ['дом', 'кот', 'стол', 'яблоко', 'программирование']
Сортировка строк по алфавиту без учёта регистра.
До сортировки: ['Яблоко', 'дом', 'Кот', 'стол', 'Апельсин']
После сортировки: ['Апельсин', 'дом', 'Кот', 'стол', 'Яблоко']
Сортировка по убыванию количества символов в строке.
До сортировки: ['яблоко', 'дом', 'программирование', 'кот', 'стол']
После сортировки: ['программирование', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по первым двум буквам слов.
До сортировки: ['яблоко', 'апельсин', 'груша', 'банан', 'абрикос']
После сортировки: ['абрикос', 'апельсин', 'банан', 'груша', 'яблоко']
Сортировка по количеству букв а в слове.
До сортировки: ['ананас', 'банан', 'яблоко', 'груша', 'абрикос']
После сортировки: ['ананас', 'банан', 'абрикос', 'яблоко', 'груша']
Сортировка по результату конкатенации первой и последней буквы слова.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['дом', 'кот', 'мир', 'стол', 'яблоко']
Сортировка по последним двум буквам слов.
До сортировки: ['яблоко', 'дом', 'кот', 'стол', 'мир']
После сортировки: ['мир', 'яблоко', 'стол', 'дом', 'кот']
Сортировка по возрастанию количества символов в строке.
До сортировки: ['программирование', 'яблоко', 'дом', 'кот', 'стол']
После сортировки: ['дом', 'кот', 'стол', 'яблоко', 'программирование']
Сортировка строк по алфавиту без учёта регистра.
До сортировки: ['Яблоко', 'дом', 'Кот', 'стол', 'Апельсин']
После сортировки: ['Апельсин', 'дом', 'Кот', 'стол', 'Яблоко']
Используйте следующий шаблон для решения задачи:
def selectionSort(lst):
# вместо этого комментария запишите код функции
# код после этого комментария оставьте без изменениq
slova = input("Введите слова через пробел: ")
# разбиваем строку на слова по пробелу; метод split() вернёт список
s_list = slova.split()
print("До сортировки:", s_list)
selectionSort(s_list) # вызов функции сортировки
print("После сортировки:", s_list)💻 Задание 5 (sam05.py)
Решите задачу вашего варианта. Для решения используйте функцию sorted().
Дан список, элементами которого являются списки из четырёх значений: [фамилия, оценка1, оценка2, оценка3]. Отсортируйте список по возрастанию среднего балла.
В следующем шаблоне реализуйте функцию sred(stud), которая принимает на вход список stud с информацией об одном студенте и возвращает его средний балл.
def sred(stud):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = ["Наталья", 8, 9, 7]
print(sred(test))Убедитесь что ваша функции возвращает правильный ответ - число 8.0.
Дан список строк, которые содержат даты в формате дд-мм-гггг. Отсортируйте эти даты в хронологическом порядке.
В следующем шаблоне реализуйте функцию form(date), которая принимает на вход строку с датой date и создаёт на её основе новую строку со следующим форматом - гггг-мм-дд.
def form(date):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "07-10-2013"
print(form(test))Убедитесь что ваша функции возвращает правильный ответ - строку 2013-10-07.
Дан список координат точек на плоскости. Координаты точки хранятся в списке вида [x, y]. Отсортируйте точки по возрастанию расстояния от начала координат. Расстояние \(d\) рассчитывайте по формуле: \[
d = \sqrt{x^2 + y^2}=(x^2+y^2)^{\frac{1}{2}}
\]
В следующем шаблоне реализуйте функцию dist(point), которая принимает на вход список point состоящий из двух элементов - координат x и y точки на плоскости. Функция должна вернуть расстояния от точки p до начала координат.
def dist(point):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = [4, 3] # тестовые данные
print(dist(test)) # вызов функции distУбедитесь что ваша функции возвращает правильный ответ - число 5.0.
Дан список строк, в которых записаны адреса электронной почты. Отсортировать список по длине имени пользователя.
В следующем шаблоне реализуйте функцию mail(u), которая принимает на вход строку user содержащую адрес электронной почты. Функция должна вернуть количество символов в имени пользователя (до символа @).
def mail(user):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "user@mail.org" # тестовые данные
print(mail(test)) # вызов функции mailУбедитесь что ваша функции возвращает правильный ответ - число 4.
Дан список длин сторон прямоугольного параллелепипеда. Длина, ширина и высота каждого параллелепипеда хранится в списке вида [a, b, c]. Отсортируйте список по возрастанию площади боговой поверхности параллелепипеда: \[
S_{бок}=2c\cdot(a+b)
\]
В следующем шаблоне реализуйте функцию S(box), которая принимает на вход списокbox. В списке хранятся длины трёх сторон прямоугольного параллелепипеда. Функция должна вернуть значение площади боковой поверхности.
def S(box):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = [5, 2, 8] # тестовые данные
print(S(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 112.
Дан список строк, в которых хранятся номера мобильных телефонов в формате +код страны(код оператора)номер. Отсортируйте список по кодам стран.
В следующем шаблоне реализуйте функцию code(tel), которая принимает на вход строкуtel. Функция должна вернуть числовой код, расположенный между символами + и (.
def code(tele):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "+375(33)123" # тестовые данные
print(code(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 375.
Дан список в котором хранятся результаты киберспортивных матчей. Элементами списка является список формата [название команды, побед, поражений]. Отсортируйте список по убыванию значения рейтинга \(R\), который рассчитайте по следующей формуле: \[
R = 0.6 \cdot побед + 0.4 \cdot поражений
\]
В следующем шаблоне реализуйте функцию rate(team), которая принимает на вход список team. Функция должна вернуть значение рейтинга, рассчитанного по формуле.
def rate(team):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = ["V", 5, 10] # тестовые данные
print(rate(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 7.0.
Дан список, элементами которого являются списки из четырёх значений: [фамилия, оценка1, оценка2, оценка3]. Отсортируйте список по возрастанию среднего балла.
В следующем шаблоне реализуйте функцию sred(stud), которая принимает на вход список stud с информацией об одном студенте и возвращает его средний балл.
def sred(stud):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = ["Наталья", 8, 9, 7]
print(sred(test))Убедитесь что ваша функции возвращает правильный ответ - число 8.0.
Дан список строк, которые содержат даты в формате дд-мм-гггг. Отсортируйте эти даты в хронологическом порядке.
В следующем шаблоне реализуйте функцию form(date), которая принимает на вход строку с датой date и создаёт на её основе новую строку со следующим форматом - гггг-мм-дд.
def form(date):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "07-10-2013"
print(form(test))Убедитесь что ваша функции возвращает правильный ответ - строку 2013-10-07.
Дан список координат точек на плоскости. Координаты точки хранятся в списке вида [x, y]. Отсортируйте точки по возрастанию расстояния от начала координат. Расстояние \(d\) рассчитывайте по формуле: \[
d = \sqrt{x^2 + y^2}=(x^2+y^2)^{\frac{1}{2}}
\]
В следующем шаблоне реализуйте функцию dist(point), которая принимает на вход список point состоящий из двух элементов - координат x и y точки на плоскости. Функция должна вернуть расстояния от точки p до начала координат.
def dist(point):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = [4, 3] # тестовые данные
print(dist(test)) # вызов функции distУбедитесь что ваша функции возвращает правильный ответ - число 5.0.
Дан список строк, в которых записаны адреса электронной почты. Отсортировать список по длине имени пользователя.
В следующем шаблоне реализуйте функцию mail(u), которая принимает на вход строку user содержащую адрес электронной почты. Функция должна вернуть количество символов в имени пользователя (до символа @).
def mail(user):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "user@mail.org" # тестовые данные
print(mail(test)) # вызов функции mailУбедитесь что ваша функции возвращает правильный ответ - число 4.
Дан список длин сторон прямоугольного параллелепипеда. Длина, ширина и высота каждого параллелепипеда хранится в списке вида [a, b, c]. Отсортируйте список по возрастанию площади боговой поверхности параллелепипеда: \[
S_{бок}=2c\cdot(a+b)
\]
В следующем шаблоне реализуйте функцию S(box), которая принимает на вход списокbox. В списке хранятся длины трёх сторон прямоугольного параллелепипеда. Функция должна вернуть значение площади боковой поверхности.
def S(box):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = [5, 2, 8] # тестовые данные
print(S(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 112.
Дан список строк, в которых хранятся номера мобильных телефонов в формате +код страны(код оператора)номер. Отсортируйте список по кодам стран.
В следующем шаблоне реализуйте функцию code(tel), которая принимает на вход строкуtel. Функция должна вернуть числовой код, расположенный между символами + и (.
def code(tele):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = "+375(33)123" # тестовые данные
print(code(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 375.
Дан список в котором хранятся результаты киберспортивных матчей. Элементами списка является список формата [название команды, побед, поражений]. Отсортируйте список по убыванию значения рейтинга \(R\), который рассчитайте по следующей формуле: \[
R = 0.6 \cdot побед + 0.4 \cdot поражений
\]
В следующем шаблоне реализуйте функцию rate(team), которая принимает на вход список team. Функция должна вернуть значение рейтинга, рассчитанного по формуле.
def rate(team):
# реализация функции
return ... # замените многоточие на возвращаемый результат
test = ["V", 5, 10] # тестовые данные
print(rate(test)) # вызов функции SУбедитесь что ваша функции возвращает правильный ответ - число 7.0.
💻 Задание 6 (sam06.py)
Решите задачу вашего варианта.
Упорядочить список целых чисел так, чтобы в начале располагались четные элементы в порядке возрастания их значений, а затем нечетные элементы. Используйте пузырьковую сортировку.
Дан список целых чисел - оценок учащихся за контрольную работу. Список содержит чётное количество элементов. Значения вводятся с клавиатуры. Выведите пары чисел таким образом, чтобы разность оценок в каждой паре была максимальной. Каждую оценку из списка можно взять только один раз. Используйте пузырьковую сортировку.
7, 1, 2, 8, 10, 10, 3, 4
Ответ:
10, 1
10, 2
8, 3
7, 4
В статистике модой набора чисел называют число с наибольшим количеством вхождений в набор. Дан список целых чисел, вводимых с клавиатуры. Выведите на экран моду данного набора. Используйте пузырьковую сортировку.
4, 6, 2, 4, 3, 1
Ответ: 4
Дан список целых случайных чисел. Расположить элементы этого списка следующим образом: вначале положительные, затем нули, затем отрицательные. Используйте пузырьковую сортировку.
Упорядочить список целых чисел так, чтобы в начале располагались четные элементы в порядке возрастания их значений, а затем нечетные элементы. Используйте пузырьковую сортировку.
Дан список целых чисел - оценок учащихся за контрольную работу. Список содержит чётное количество элементов. Значения вводятся с клавиатуры. Выведите пары чисел таким образом, чтобы разность оценок в каждой паре была максимальной. Каждую оценку из списка можно взять только один раз. Используйте пузырьковую сортировку.
7, 1, 2, 8, 10, 10, 3, 4
Ответ:
10, 1
10, 2
8, 3
7, 4
В статистике модой набора чисел называют число с наибольшим количеством вхождений в набор. Дан список целых чисел, вводимых с клавиатуры. Выведите на экран моду данного набора. Используйте пузырьковую сортировку.
4, 6, 2, 4, 3, 1
Ответ: 4
Дан список целых случайных чисел. Расположить элементы этого списка следующим образом: вначале положительные, затем нули, затем отрицательные. Используйте сортировку выбором.
Упорядочить список целых чисел так, чтобы в начале располагались четные элементы в порядке возрастания их значений, а затем нечетные элементы. Используйте сортировку выбором
Дан список целых чисел - оценок учащихся за контрольную работу. Список содержит чётное количество элементов. Значения вводятся с клавиатуры. Выведите пары чисел таким образом, чтобы разность оценок в каждой паре была максимальной. Каждую оценку из списка можно взять только один раз. Используйте сортировку выбором
7, 1, 2, 8, 10, 10, 3, 4
Ответ:
10, 1
10, 2
8, 3
7, 4
В статистике модой набора чисел называют число с наибольшим количеством вхождений в набор. Дан список целых чисел, вводимых с клавиатуры. Выведите на экран моду данного набора. Используйте сортировку выбором
4, 6, 2, 4, 3, 1
Ответ: 4
Дан список целых случайных чисел. Расположить элементы этого списка следующим образом: вначале положительные, затем нули, затем отрицательные. Используйте сортировку выбором
Дан список целых чисел - оценок учащихся за контрольную работу. Список содержит чётное количество элементов. Значения вводятся с клавиатуры. Выведите пары чисел таким образом, чтобы разность оценок в каждой паре была максимальной. Каждую оценку из списка можно взять только один раз. Используйте сортировку выбором
7, 1, 2, 8, 10, 10, 3, 4
Ответ:
10, 1
10, 2
8, 3
7, 4
В статистике модой набора чисел называют число с наибольшим количеством вхождений в набор. Дан список целых чисел, вводимых с клавиатуры. Выведите на экран моду данного набора. Используйте сортировку выбором
4, 6, 2, 4, 3, 1
Ответ: 4