Найти наибольший элемент и его порядковый номер в массиве

Заполнить одномерный массив случайными числами. Найти и вывести на экран наибольший его элемент и порядковый номер этого элемента.

Заполнение массива и поиск наибольшего элемента можно выполнять в одном цикле.

Поскольку необходимо найти не только максимальный элемент, но и его индекс, то лучше искать индекс, так как по нему всегда можно получить значение из массива. Конечно, при поиске можно сохранять и индекс, и элемент в двух разных переменных. Однако этого делать не обязательно. До цикла присвоим переменной, в которой будет храниться индекс максимального элемента, значение 1. Это значит, предполагается, что максимальный элемент находится в первой ячейке массива.

Тело цикла будет состоять из следующих действий:

  1. Сгенерировать случайное число и записать его в очередную ячейку массива.
  2. Вывести полученное число на экран.
  3. Если это число больше, чем то, что хранится под индексом, записанным в переменную-максимум, то присвоить этой переменной текущий индекс (не само число!).

После того, как индекс наибольшего элемента будет найден, вывести его на экран. Чтобы вывести элемент по данному индексу, надо использовать выражение извлечения элемента из массива. Например, если max - это индекс, а arr - массив, то выражение будет таким: arr[max].

const N = 10;
var
    arr: array[1..N] of integer;
    i, max: byte;
begin
    randomize;
    max := 1;
    for i:=1 to N do begin
        arr[i] := random(100);
        write(arr[i], ' ');
        if arr[max] < arr[i] then
            max := i;
    end;
    writeln;
    writeln('arr[',max,'] = ',arr[max]);
end.
64 26 99 37 57 64 6 21 48 19
arr[3] = 99
#include <stdio.h>
#define N 10
main() {
    int arr[N], i, mx;
    srand(time(NULL));
    mx = 0;
    for (i=0; i<N; i++) {
        arr[i] = rand() % 100;
        printf("%d ", arr[i]);
        if (arr[i] > arr[mx])
            mx = i;
    }
    printf("\narr[%d] = %d\n", mx, arr[mx]);
}
75 46 7 39 11 29 34 77 86 25
arr[8] = 86
from random import random
N = 10
arr = [0] * N
mx = 0
for i in range(N):
    arr[i] = random() * 100
    print("%.2f" % arr[i], end='; ')
    if arr[i] > arr[mx]:
        mx = i
print("\narr[%d] = %.2f" % (mx, arr[mx]))
73.83; 16.23; 30.18; 27.41; 94.27; 46.27; 66.17; 61.07; 18.89; 61.16;
arr[4] = 94.27
алг
нач
  цел N = 10
  целтаб arr[1:N]
  цел mx, i
  mx := 1
  нц для i от 1 до N
    arr[i] := irnd(100)
    вывод arr[i], " "
    если arr[mx] < arr[i] то
      mx := i
    все
  кц
  вывод нс,"arr[",mx,"] = ",arr[mx]
кон
57 78 14 96 76 9 19 36 45 54
arr[4] = 96
decimal 1
N = 10
dim arr(N)
mx = 0
for i=0 to N-1
        arr[i] = rand * 100
        print arr[i] + "; ";
        if arr[i] > arr[mx] then mx = i
next i
print
print "Номер элемента: " + mx
print "Значение элемента: " + arr[mx]
21.9; 58.4; 24.4; 72.6; 88.5; 65.2; 56.6; 65.1; 72.6; 40.4;
Номер элемента: 4
Значение элемента: 88.5