Циклические перестановки в одномерных массивах - Pascal ABC (14610)
Формулировка задачи:
Ввести одномерный массив А , в котором число элементов кратно К , вывести его. Разбить массив на К равных частей, внутри каждой из областей осуществить циклический сдвиг элементов влево.
Решение задачи: «Циклические перестановки в одномерных массивах»
textual
Листинг программы
var a:array[1..100] of integer; n,k,i,j,x:integer; begin randomize; repeat write('Введите натураьное число от 2 до 10 k='); readln(k); until k in [2..10]; repeat write('Введите размер массива, натуральное число меньше 101, кратное ',k); readln(n); until (n in [2..100])and(n mod k=0); writeln('Исходный массив'); for i:=1 to n do begin a[i]:=random(100); write(a[i]:4); end; writeln; for i:=1 to k do begin x:=a[(i-1)*k+1]; for j:=(i-1)*k+1 to k*i-1 do a[j]:=a[j+1]; a[k*i]:=x; end; writeln('Сдвиги'); for i:=1 to n do write(a[i]:4); end.
Объяснение кода листинга программы
- Создается переменная
a
типаarray[1..100] of integer;
, которая будет представлять собой одномерный массив целых чисел размером от 1 до 100. - Создаются переменные
n
,k
,i
,j
,x
типаinteger;
, которые будут использоваться для выполнения различных операций. - С помощью функции
randomize
иrepeat...until
задается начальное значение переменнойk
- вводится натуральное число от 2 до 10. - С помощью функции
repeat...until
задается начальное значение переменнойn
- вводится размер массива, натуральное число меньше 101, кратноеk
. - Выполняется цикл
for i:=1 to n do
, в котором для каждого индексаi
создается элемент массиваa[i]
и выводится его значение. - Выполняется цикл
for i:=1 to k do
, в котором для каждого индексаi
выполняется сдвиг элементов массиваa
. Сначала с помощью циклаfor j:=1 to (i-1)*k+1 do
сдвигаются все элементы массиваa
на один шаг влево, а затем в конце присваивается значениеx
элемента с индексомk*i
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to n do
, в котором выводится значение элемента массиваa[i]
. - Выполняется цикл
for i:=1 to k do
, в котором выводится значение элемента массиваa[i]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д