Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д