Андрей
Высший разум
(437108)
6 лет назад
У тебя слишком много лишних действий. Всё намного проще:
for j := 1 to n-1 do begin
for i := j + 1 to n do
if mas[j].Height = mas[i].Height then
writeln(mas[j].Name, ' ', mas[j].Surname, ' и ', mas[i].Name, ' ', mas[i].Surname, ' одного роста')
end
Но в этом случае буду выведены все пары студентов одного роста (без повторов). Если же нужно списки, то лучше сначала отсортировать массив по росту - тогда все студенты одного роста окажутся рядом.
SchmarotzerМастер (1549)
6 лет назад
а почему на моменте:
writeln(' Введите через пробел имя и фамилию студента ');
write(' --> ');
readln(name1,SurName1);
writeln;
при первом вводе readln проскакивает. То есть я первого студента не могу вбить, только рост для него. Со второго ввод нормальный.
Подправил:
https://pastebin.com/xfY1Rtez
Type
Tpeople = record
Name, SurName: string[30];
Height: byte;
end;
Программа: https://pastebin.com/f8ppELB6