[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Пример 2.2. Найти наибольший элемент числового массива A = (a1, a2 , ..., aN ) и его номер.
 
Тест
 
Данные
Результаты
N=4
A=(3, -1, 10, 1)
Amax=10
K=3
 
Демонстрация
Школьный АЯ 
алг МаксЭлемент (арг цел N, арг вещ таб A[1:N],
                 рез вещ Amax, рез цел k)
нач цел i
  Amax := A[1]; k := 1
  нц для i от 2 до N
    если A[i] > Amax
      то Amax:=A[i]; k := i
    все
  кц
кон
Исполнение алгоритма 
 
i
A[i] > Amax
Amax
k
2
3
4
-
+
-
3
10
 
1
3
 
 
Блок-схема 
Turbo Pascal
Program MaxElem;
  Uses Crt;
  Type Mas = Array [1..20] of Real;
  Var A    : Mas;
      i, N : Integer;
      k    : Integer;
      Amax : Real;
BEGIN
  СlrScr;
  Write('Введите N = ');
  ReadLn(N);
  For i := 1 to N do {Ввод значений элементов массива А}
    begin
      Write('A [ ', i, ' ] = '); ReadLn(A[i])
    end;
  Amax := A[1]; k:=1; {Поиск максимального элемента}
  For i := 2 to N do
    If A[i] > Amax then
      begin
        Amax := A[i]; k := i
      end;
  WriteLn; WriteLn('Наибольший элемент' , k , '-й');
  WriteLn('Его значение ', Amax : 5 : 1); ReadLn
END.
 
QBasic
CLS
INPUT "N = "; N : DIM A(N)
FOR i = 1 TO N ' Ввод массива А
  PRINT "A("; i; ") = ";
  INPUT A(i)
NEXT i
Amax = A(1) : k = 1    ' Поиск максимального элемента
FOR i = 2 TO N
  IF A(i) > Amax THEN Amax = A(i) : k=i
NEXT i
PRINT "Наибольший элемент" ; k ; "-й"
PRINT "Его значение" ; Amax
END
 

[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]