Форум «Всё о Паскале» _ Задачи _ Наибольшее из N чисел
Автор: barlog 26.09.2006 2:38
Нужно написать прогу по нахождению максимального числа из введённых. Вот одна из них. Но если числа вводятся рандомом? Нужен алгоритм, так как он может быть не один, то самый лучший из них.
Код
Program maximum; Var N, max, next, k: integer; Begin Write('Введите количество чисел'); Readln(n); Write('Введите число'); Readln(max); k:=1; repeat Write('Введите число'); Readln(next); K:=k+1; If next>max then max:=next Until k=n; Writeln(max); Readln End.
Автор: volvo 26.09.2006 2:51
Цитата
Но если числа вводятся рандомом?
Так "если" или "вводятся"? Что за привычка давать расплывчатые задания???
Кстати, твое решение тоже не особо оптимальное: ни один преподаватель (тем более работодатель), находящийся в здравом уме, не пропустит такую программу. Хотя бы вот так:
Program maximum; Var N, max, next, k: integer; Begin Write('Введите количество чисел'); Readln(n); max := -maxInt; for k := 1 to n do begin Write('Введите число'); Readln(next); If next>max then max:=next end; Writeln(max); Readln End.
Автор: мисс_граффити 26.09.2006 18:44
а если они вдруг начнут вводиться рэндомом (всякое в жизни бывает), то достаточно в приведенном volvo коде изменить
Код
Write('Введите число'); Readln(next);
на
Код
next:=random(100)-50; {это для примера. чтобы были и положительные, и отрицательные} writeln(next); {чтобы отслеживать, что у нас там навводилось}
а если вводим вручную... может, заранее не просить количество чисел? спрашивать "хотите ввести еще одно?".
Автор: barlog 27.09.2006 21:43
Большое вам спасибо за ответы. Тут нам сегодня дали около сотни задач на 5 тем. Если будут вопросы по некоторым, буду обращаться, надеюсь поможете. Спасибо ещё раз!