Вопрос задан 16.07.2023 в 15:35. Предмет Информатика. Спрашивает Махрова Ксения.

Паскаль. В целочисленном массиве из 10 элементов найти предмаксимальное по значению число , вывести

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

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

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

Ответ:

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.

0 0
Отвечает Добряк Макс.

===== 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.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример кода на языке Паскаль, который решает данную задачу:

pascal
program 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, если находим числа, которые превышают текущие максимальное и предмаксимальное значения. В конце программы выводим найденные результаты.

Надеюсь, это поможет! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

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

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

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