Поменять последний элемент массива, кратный своему порядковому номеру с первым элементом - 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.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • a: массив целых чисел;
    • n: размер массива;
    • i, ip: индексы для перемещения по массиву;
    • x: временная переменная для хранения значения элемента;
    • Задается размер массива (n) и инициализируется массив случайными числами от 1 до 100.
  2. Выводится исходный массив.
  3. Переменная ip инициализируется нулем, а i устанавливается равным n-1.
  4. В цикле while проверяется условие: пока i больше нуля и ip равно нулю.
  5. Если a[i] делится без остатка на i+1, то ip присваивается значение i.
  6. Если условие не выполняется, то i уменьшается на единицу.
  7. После выхода из цикла выводится сообщение о последнем элементе, который кратен своему номеру.
  8. Если ip равно нулю, то выводится сообщение, что этот элемент первый и обмена не будет.
  9. Если ip не равно нулю, то выводится сообщение о выполнении обмена.
  10. За счет переменной x сохраняется значение элемента, который будет заменен на значение первого элемента.
  11. Значение a[ip] заменяется на значение a[0].
  12. Значение a[0] заменяется на значение x.
  13. Выводится измененный массив.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы