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

Задачи по Pascal

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

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

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

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

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

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

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

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

  1. Переменная mass — для массива
  2. Переменная max — для наибольшего элемента массива
  3. Переменная position — для позиции наибольшего элемента
  4. Переменная n — для количества элементов массива
  5. Переменная i — для цикла.

Начнем мы с каркаса нашей программы

1
2
3
4
5
6
7
8
9
10
11
type
massiv = array [1..100] of integer; // создаём свой тип данных
var
max, position, n, i : integer; // объявляем
mass : massiv; // переменные
begin
write('Введите длину массива : ');readln(n); // просим пользователя ввести длину массива
readln; // чтобы программа не закрывалась
end.

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

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

1
2
3
4
for i:=1 to n do // пускаем цикл для заполнения массива
begin
write('Введите ',i,' элемент : ');readln(mass[i]); // просим пользователя заполнить массив
end;

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

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

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

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

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

1
2
3
4
5
6
7
8
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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.
cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий