Вопрос задан 07.09.2020 в 14:44. Предмет Информатика. Спрашивает Жидких Вадим.

Известны данные о росте 15 юношей класса, упорядоченные по убыванию. Ни одна пара учеников не имеет

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Да, в данном случае необходимо будет сортировать массив. Можно решить данную задачу с использованием сортировки пузырьком.

Приведу пример программы на языке Паскаль с использованием процедур и функций для решения данной задачи:

```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`, которая выводит фамилии учеников, рост которых меньше роста новенького.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос