• Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит второй максимум массива (элемент, который в отсортированном по невозрастанию массиве стоял бы вторым). Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

    const
    N = 30;
    var
    a: array [1..N] of integer;
    i, k, max, max2: integer;
    begin
    for i: =1 to N do
    readln(a[i]);
    ...
    end.

Ответы 1

  • program p1;

    uses crt;   вывод окошка

    const N = 30;

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

    i, max, max2 :integer;

    begin

     

     for i:=1 to N do begin  вывод элементов массива с помощью рандома

    a[i]:=  random (100);

     write( a[i]:4);

     end;

             writeln;

       max:= a[1];  принимаем первый элемент массива за макс

       max2:= a[1];  принимаем первый элемент массива за макс

       

      for i:=1 to N do begin              находим первый max                                                                  

        if  max<a[i] then

          max:= a[i];

          end;

           

          for i:=1 to N do begin                            находим второй max2

            if (max2<a[i]) and ( a[i]<> max) then

             max2:= a[i];

             end;

             

             writeln('max=',max);

             writeln('max2=',max2);

             end.

    • Автор:

      dropout
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years