Вопрос задан 30.10.2023 в 17:16. Предмет Информатика. Спрашивает Овсейчук Дарья.

9 КЛАСС Найти два максимальных элемента массива Паскаль, пожалуйста!!!!! ​

0 0
Перейти к ответам

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

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

Ответ:

const

   N = 10;  

var

   a: array[1..N] of integer;

   i, max1, max2, buff: byte;

begin  

   randomize;

   for i:=1 to N do begin

       a[i] := random(10);

       write(a[i]:3);        

   end;

   writeln;

 

   if a[1] > a[2] then begin

       max1 := 1;

       max2 := 2;

   end

   else begin

       max1 := 2;

       max2 := 1;

   end;

 

   for i:=3 to N do

       if a[i] > a[max1] then begin

           buff := max1;

           max1 := i;

           if a[buff] > a[max2] then

               max2 := buff;

       end

       else

           if a[i] > a[max2] then

               max2 := i;    

 

   writeln(max1,' ', a[max1]);

   writeln(max2,' ', a[max2]);

end.

Объяснение:

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

Для поиска двух максимальных элементов в массиве в Паскале можно использовать следующий алгоритм:

1. Объявляем переменные max1 и max2 и инициализируем их со значениями, которые гарантированно менее всех элементов массива. Например, можно присвоить им минимальное значение типа данных массива.

2. Проходим по всем элементам массива, сравнивая каждый элемент с текущими значениями max1 и max2.

3. Если мы находим элемент, больший, чем max1, то присваиваем его значение переменной max1, а значение max1 присваиваем переменной max2.

4. Если мы находим элемент, больший, чем max2, но меньший, чем max1, то присваиваем его значение переменной max2.

5. После прохода по всем элементам массива, значения max1 и max2 будут содержать два максимальных элемента.

Вот пример кода на Паскале, реализующего данный алгоритм:

``` program FindMax;

const N = 10; // размер массива minValue = Low(Integer); // минимальное значение типа Integer

var arr: array[1..N] of Integer; // объявление массива i, max1, max2: Integer;

begin // заполнение массива случайными числами Randomize; for i := 1 to N do arr[i] := Random(100);

// инициализация max1 и max2 max1 := minValue; max2 := minValue;

// поиск двух максимальных элементов for i := 1 to N do begin if arr[i] > max1 then begin max2 := max1; max1 := arr[i]; end else if (arr[i] > max2) and (arr[i] < max1) then begin max2 := arr[i]; end; end;

// вывод результатов WriteLn('Массив:'); for i := 1 to N do Write(arr[i], ' ');

WriteLn; WriteLn('Два максимальных элемента: ', max1, ' и ', max2); ReadLn; end. ```

В данном примере массив заполняется случайными числами, но вы можете изменить эту часть кода, чтобы заполнить массив сами или использовать другой способ заполнения.

После запуска программы, она выведет массив и два максимальных элемента.

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

0 0

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

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

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

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