
Паскаль. В целочисленном массиве из 10 элементов найти предмаксимальное по значению число , вывести
его позицию. Например, 2 0 3 1 1 максимальное число 3, предмаксимальное 2 его позиция 1.

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

Ответ:
program predmax;
function GetMax (aa: array of Integer): Integer;
var
i, imax: Integer;
begin
imax := Low (aa);
for i := Low (aa) + 1 to High (aa) do
if aa [i] > aa [imax] then
imax := i;
GetMax := imax + 1;
end;
var
a: array [1..10] of Integer;
i, imax: Integer;
begin
Write ('Массив: ');
for i := Low (a) to High (a) do
Read (a [i]);
a [GetMax (a)] := - MaxInt;
imax := GetMax (a);
Write ('Предмаксимальный элемент a[', imax, '] = ', a [imax]);
ReadLn;
ReadLn;
end.



===== PascalABC.NET =====
begin
var a := ReadArrInteger('Введите 10 чисел:', 10);
var amax := a.Max;
var s := a.Where(p -> p <> amax).OrderDescending;
if s.Count > 0 then
begin
var apmax := s.First;
var i := a.FindIndex(p -> p = apmax);
Println('Предмаксимальный элемент', apmax, 'номер', i+1)
end
else
Println('Нет решения: все элементы в массиве одинаковы')
end.




Конечно! Вот пример кода на языке Паскаль, который решает данную задачу:
pascalprogram FindPreMax; const N = 10; var arr: array[1..N] of Integer; i, max, preMax, preMaxPos: Integer; begin { Вводим элементы массива } for i := 1 to N do begin Write('Введите элемент ', i, ': '); Readln(arr[i]); end; max := arr[1]; preMax := arr[1]; preMaxPos := 1; { Находим максимальное и предмаксимальное числа } for i := 2 to N do begin if arr[i] > max then begin preMax := max; max := arr[i]; preMaxPos := i - 1; end else if (arr[i] > preMax) and (arr[i] < max) then begin preMax := arr[i]; preMaxPos := i; end; end; { Выводим результаты } Writeln('Максимальное число: ', max); Writeln('Предмаксимальное число: ', preMax); Writeln('Позиция предмаксимального числа: ', preMaxPos); end.
В этом примере мы используем массив arr
с 10 элементами для хранения введенных чисел. Затем мы проходим по массиву, обновляя max
и preMax
, а также preMaxPos
, если находим числа, которые превышают текущие максимальное и предмаксимальное значения. В конце программы выводим найденные результаты.
Надеюсь, это поможет! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


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