Поменять последний элемент массива, кратный своему порядковому номеру с первым элементом - PascalABC.NET
Формулировка задачи:
Всем добрый вечер! Столкнулся с проблемой,
нужно поменять последний элемент, кратный своему порядковому номеру с первым элементом одномерного числового массива
! Буду благодарен за помощь в решении Заранее спасибо P.S Сижу в PascalABC.NET,может кому интересна данная инфа.Решение задачи: «Поменять последний элемент массива, кратный своему порядковому номеру с первым элементом»
textual
Листинг программы
var a:array of integer; n,i,ip,x:integer; begin randomize; write('Размер массива n='); readln(n); setlength(a,n); writeln('Исходный массив'); for i:=0 to n-1 do begin a[i]:=1+random(100); write(a[i]:4); end; writeln; ip:=0; i:=n-1; while(i>0)and(ip=0) do if a[i] mod (i+1)=0 then ip:=i else dec(i); writeln('Последний элемен, кратный своему номеру=',a[ip],' его номер=',ip+1); if ip=0 then write('Он первый, обмена нет') else begin writeln('Обмен этого элемента с первым'); x:=a[ip]; a[ip]:=a[0]; a[0]:=x; for i:=0 to n-1 do write(a[i]:4); end end.
Объяснение кода листинга программы
- Объявляются переменные:
- a: массив целых чисел;
- n: размер массива;
- i, ip: индексы для перемещения по массиву;
- x: временная переменная для хранения значения элемента;
- Задается размер массива (n) и инициализируется массив случайными числами от 1 до 100.
- Выводится исходный массив.
- Переменная ip инициализируется нулем, а i устанавливается равным n-1.
- В цикле while проверяется условие: пока i больше нуля и ip равно нулю.
- Если a[i] делится без остатка на i+1, то ip присваивается значение i.
- Если условие не выполняется, то i уменьшается на единицу.
- После выхода из цикла выводится сообщение о последнем элементе, который кратен своему номеру.
- Если ip равно нулю, то выводится сообщение, что этот элемент первый и обмена не будет.
- Если ip не равно нулю, то выводится сообщение о выполнении обмена.
- За счет переменной x сохраняется значение элемента, который будет заменен на значение первого элемента.
- Значение a[ip] заменяется на значение a[0].
- Значение a[0] заменяется на значение x.
- Выводится измененный массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д