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

Условие задачи: Найти наибольший элемент и его номер в массиве, элементы которого вводятся с клавиатуры. Размер произвольный. (Язык Pascal)

Сложность: легкая.

Решение задачи

Для начала продумаем наше решение. Сначала заполним массив, потом в цикле через условие будем находить позицию и наибольший элемент.

Что такое позиция элемента? Это его индекс. Например, в массиве есть mass есть 2 элемента:

mass[
1
] :=
32
;
mass[
2
] :=
31
;

Вот эти цифры 1 и 2 и есть индексы, т.е. позиция элементов.

Для того чтобы решить задачу нам понадобятся следующие переменные:

  • Переменная mass — для массива
  • Переменная max — для наибольшего элемента массива
  • Переменная position — для позиции наибольшего элемента
  • Переменная n — для количества элементов массива
  • Переменная i — для цикла.
  • Начнем мы с каркаса нашей программы

    type

    massiv =
    array
    [
    1..100
    ]
    of
    integer
    ;
    // создаём свой тип данных

    var

    max, position, n, i :
    integer
    ;
    // объявляем

    mass : massiv;
    // переменные
    begin

    write
    (
    'Введите длину массива : '
    );readln(n);
    // просим пользователя ввести длину массива

    readln;
    // чтобы программа не закрывалась
    end
    .

    Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), объявили переменные, попросили пользователя ввести кол-во элементов массива.

    Теперь давайте заполним наш массив:

    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для заполнения массива

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    );readln(mass[i]);
    // просим пользователя заполнить массив

    end
    ;

    Для того чтобы найти наибольший элемент массива, делается следующее, для начала задаётся начальное значение наибольшего элемента, это всегда первый элемент ну и позиция первого элемента — один.

    max := mass[
    1
    ];
    // задаём начальный максимальный элемент
    position :=
    1
    ;
    // и позицию максимального элемента

    Дальше в цикле мы сравниваем наибольший элемент со всеми остальными и если какое-то больше текущего наибольшего элемента то уже оно становится наибольшим.

    Допустим у нас есть массив из трех чисел : 1 4 7.

    Начальное значение будет 1, т.е. max = 1, дальше мы сравниваем его со 2-м элементом с четверкой, она больше 1, значит уже она наибольший элемент, т.е. max = 4, и теперь мы переменную max сравниваем в 7, 7 больше 4, и значит max = 7. Вот как то так.

    for
    i:=
    2
    to
    n
    do
    // цикл для нахождения макс. элемента и его позиции

    begin

    if
    (mass[i] > max)
    then
    // если текущее значение больше чем max, то

    begin

    max := mass[i];
    // max присваиваем это значение

    position := i;
    // и заносим позицию этого элемента

    end
    ;

    end
    ;

    Вроде должно быть всё понятно. Цикл мы начинаем с двух потому что у нас до цикла в переменной max значение первого элемента массива, нету смысла сравнивать 1-е значение с первым, хотя ошибки не будет, можете написать i:=1.

    Всё решение задачи Pascal

    type

    massiv =
    array
    [
    1..100
    ]
    of
    integer
    ;
    // создаём свой тип данных

    var

    max, position, n, i :
    integer
    ;
    // объявляем

    mass : massiv;
    // переменные
    begin

    write
    (
    'Введите длину массива : '
    );readln(n);
    // просим пользователя ввести длину массива


    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для заполнения массива

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    );readln(mass[i]);
    // просим пользователя заполнить массив

    end
    ;


    max := mass[
    1
    ];
    // задаём начальный максимальный элемент

    position :=
    1
    ;
    // и позицию максимального элемента


    for
    i:=
    2
    to
    n
    do
    // цикл для нахождения макс. элемента и его позиции

    begin

    if
    (mass[i] > max)
    then
    // если текущее значение больше чем max, то

    begin

    max := mass[i];
    // max присваиваем это значение

    position := i;
    // и заносим позицию этого элемента

    end
    ;

    end
    ;

    writeln
    (
    'Максимальный элемент : '
    , max,
    ' его позиция '
    , position);
    // выводим результат

    readln;
    // чтобы программа не закрывалась
    end
    .
    Предыдущая
    ПрограммированиеЗадачи по Pascal. Вывести только нечетные элементы массива.
    Следующая
    ПрограммированиеЗадачи по Pascal. Найти сумму элементов массива с четными номерами, произведение отрицательных элементов, количество нечетных элементов.
    Помогли? Поставьте оценку, пожалуйста.
    Плохо
    0
    Хорошо
    0
    Супер
    0
    Спринт-Олимпик.ру
    Мы в ВК, подпишись на нас!

    Подпишись на нашу группу в ВКонтакте, чтобы быть в курсе выхода нового материала...

    Вступить
    ×