Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер - Pascal
Формулировка задачи:
Задан вектор из N элементов. Найти наибольшее число и его координату среди кратных трем и совпадающих со своим номером элементов и поменять его с последним элементом.
Решение задачи: «Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер»
textual
Листинг программы
- {Задан вектор из N элементов. Найти наибольшее число и его координату среди
- кратных трем и совпадающих со своим номером элементов и поменять его с
- последним элементом. }
- const
- n = 10;
- var
- temp, i, ik, max: integer;
- a: array [1..n] of integer;
- begin
- for i := 1 to n do
- begin
- a[i] := random(n);
- write(a[i]:4);
- end;
- writeln;
- ik := 0;
- for i := 1 to n do
- if (a[i] mod 3 = 0) and (a[i] = i) then
- begin
- ik := i;
- max := a[i];
- end;
- if ik = 0 then
- begin
- write('Нет чисел, удовлетворящих условию.');
- exit;
- end
- else
- begin
- for i := 1 to n do
- if (a[i] mod 3 = 0) and (a[i] = i) and (a[i] > max) then
- begin
- ik := i;
- max := a[i];
- end;
- writeln('Максимум: ', max, ' в позиции: ', ik);
- temp := a[n];
- a[n] := a[ik];
- a[ik] := temp;
- for i := 1 to n do
- write(a[i]:4);
- end;
- end.
Объяснение кода листинга программы
- Создается константа
n
и присваивается значение 10. - Создаются переменные
temp
,i
,ik
,max
типа целое число и массивa
типа целое число с размером от 1 доn
. - В цикле от 1 до
n
генерируются случайные числа и записываются в массивa
. - Выводятся значения массива
a
через пробел. - Создается переменная
ik
и устанавливается значение 0. - В цикле от 1 до
n
проверяется, удовлетворяют ли элементы массива условиям: кратны трем и равны своему номеру. Если да, то переменнойik
присваивается значениеi
, а переменнойmax
присваивается значение a[i]. - Если
ik
равно 0, то выводится сообщениеНет чисел, удовлетворящих условию.
и программа завершается. - Иначе, для каждого элемента в массиве проверяется, удовлетворяют ли они условиям: кратны трем и равны своему номеру, и больше ли они, чем
max
. Если да, то переменнойik
присваивается значениеi
, а переменнойmax
присваивается значение a[i]. - Выводится сообщение с максимальным числом и его позицией.
- Переменной
temp
присваивается значение последнего элемента массиваa
. - Последнему элементу массива
a
присваивается значение a[ik]. - Элементу массива
a[ik]
присваивается значениеtemp
. - Выводятся значения массива
a
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д