
Известны данные о росте 15 юношей класса, упорядоченные по убыванию. Ни одна пара учеников не имеет
одинакового роста. В начале учебного года в класс поступил новый ученик (известно, что его рост не совпадает с ростом ни одного из учеников класса, превышает рост самого низкого ученика и меньше роста самого высокого). а) Вывести фамилии всех учеников, рост которых меньше роста новенького. На языке паскаль. через процедуры и функции. БЕЗ УСЛОВНОЙ ФУНКЦИИ(я так понимаю здесь необходима сортировка массива?) Срочно нид хелп плз

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

Да, в данном случае необходимо будет сортировать массив. Можно решить данную задачу с использованием сортировки пузырьком.
Приведу пример программы на языке Паскаль с использованием процедур и функций для решения данной задачи:
```pascal const n = 16; // количество учеников (включая новенького)
type Student = record surname: string[20]; height: integer; end;
var students: array[1..n] of Student; // массив структур Student i, j: integer;
procedure BubbleSort(var arr: array of Student; length: integer); var i, j: integer; temp: Student; begin for i := length - 1 downto 1 do begin for j := 1 to i do begin if arr[j].height < arr[j + 1].height then begin temp := arr[j]; arr[j] := arr[j + 1]; arr[j + 1] := temp; end; end; end; end;
procedure PrintStudentsBelowNewcomer(arr: array of Student; length: integer; newcomerHeight: integer); var i: integer; begin writeln('Фамилии учеников, рост которых меньше роста новенького:'); for i := 1 to length - 1 do begin if arr[i].height < newcomerHeight then writeln(arr[i].surname); end; end;
begin // Ввод данных о росте учеников и новенького writeln('Введите данные о росте 15 юношей класса:'); for i := 1 to n - 1 do begin write('Фамилия ученика ', i, ': '); readln(students[i].surname); write('Рост ученика ', i, ': '); readln(students[i].height); end; write('Фамилия новенького: '); readln(students[n].surname); write('Рост новенького: '); readln(students[n].height); // Сортировка массива по убыванию роста BubbleSort(students, n); // Вывод фамилий учеников, рост которых меньше роста новенького PrintStudentsBelowNewcomer(students, n, students[n].height); end. ```
В данном коде мы сначала вводим данные о росте 15 юношей класса и новенького. Затем сортируем массив структур `students` по убыванию роста с использованием процедуры `BubbleSort`. Далее вызываем процедуру `PrintStudentsBelowNewcomer`, которая выводит фамилии учеников, рост которых меньше роста новенького.


Топ вопросов за вчера в категории Информатика







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