Найти 2 наибольших числа - Pascal
Формулировка задачи:
Дано: Ряд целых чисел,где каждый член>=2, найти 2 наибольших элемента
Текст программы:
Что нужно изменить,чтобы программа работала не только для возрастающей последовательности?
Var p,i,max1,max2,x:integer; Begin write('введите кол-во чисел в последовательности-'); readln(p); readln(x); max1:=x; readln(x); max2:=x; for i:=1 to p-2 do begin readln(x); if (x>max2) and (x<max1) then max2:=x; if x>max2 then max1:=x; end; writeln(max1,' ',max2); End.
Решение задачи: «Найти 2 наибольших числа»
textual
Листинг программы
Var p,i,max1,max2,x:integer; Begin write('введите кол-во чисел в последовательности-'); readln(p); max1:=-maxint; max2:=-maxint; for i:=1 to p do begin readln(x); if (x>max1) and (x>max2) then begin max2:=max1; max1:=x; end else if x>max2 then max2:=x end; writeln(max1,' ',max2); End.
Объяснение кода листинга программы
- Переменные p, i, max1, max2, x инициализируются типом integer.
- Пользователю предлагается ввести количество чисел в последовательности с помощью функции readln().
- Значения max1 и max2 инициализируются как -maxint, что гарантирует, что первое введенное число станет наибольшим.
- Используется цикл for для чтения p чисел из последовательности.
- Если текущее число (x) больше max1 и max2, то оно становится новым max1, а предыдущее max1 становится max2.
- Если текущее число (x) больше max2, то оно становится новым max2.
- После окончания цикла, наибольшие числа выводятся на экран с помощью функции writeln().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д