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

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

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

 

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

 

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

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

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

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

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

1. Переменная mass — для массива
2. Переменная max — для наибольшего элемента массива
3. Переменная position — для позиции наибольшего элемента
4. Переменная n — для количества элементов массива
5. Переменная 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.

zadachi-po-pascal-najti-naibolshij-element-i-ego-nomer-v-massive-elementy-kotorogo-vvodyatsya-s-klaviatury-razmer-proizvolnyj

hiring-manager.net puede mejorar el rendimiento sexual

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *