Поменять отрезки местами без использования дополнительного массива - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Есть массив состоящий из n элементов.Массив разделили на 2 неравных отрезка(не сказано какой из них больше).Количество элементов в первом отрезке - m. Как поменять отрезки местами(второй отрезок в начало,а первый на место второго) без использования доп массива? Можно пожалуйста в этой программе элементы массива вводить самому,(то есть без рандомного выбора).

Решение задачи: «Поменять отрезки местами без использования дополнительного массива»

textual
Листинг программы
var
a:array[1..100]of integer;
i,j,n,m:integer;
begin
writeln('vvedite razmer massiva');
readln(n);
writeln('vvedite elementy massiva');
for i:=1 to n do
read(a[i]);
writeln;
writeln('massiv');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('vvedite chislo m<n');
readln(m);
for i:=n+1 to n+m do
a[i]:=a[i-n];
for i:=1 to n do
a[i]:=a[i+m];
writeln('novyj massiv');
for i:=1 to n do
write(a[i],' ');
readln;
end.

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

  1. Пользователю предлагается ввести размер массива (n).
  2. Затем пользователю предлагается ввести элементы массива (до 100 элементов).
  3. Выводится текущий массив.
  4. Пользователю предлагается ввести число m, не превышающее размер массива n.
  5. Элементы массива сдвигаются вправо на m позиций.
  6. Затем элементы массива сдвигаются влево на m позиций.
  7. Выводится измененный массив.

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


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

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

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