Поменять последовательность цифр из, допустим 1234567 в 1234321 в двумерном массиве - Turbo Pascal
Формулировка задачи:
Задайте n и m 3х4 допустим, получим массив заполненный 1234567, как сделать, чтобы заполнялся 1234321
Решение задачи: «Поменять последовательность цифр из, допустим 1234567 в 1234321 в двумерном массиве»
textual
Листинг программы
var a:array [1..10,1..10] of integer;
m,n,i,j,k:integer;
begin
repeat
writeln('Введите размерность двумерного массива от 2 до 2 по строкам и столбцам:');
write('Количество строк m=');
readln(m);
write('Количество столбцов n=');
readln(n);
until(m in [2..10])and(n in [1..10]);
if odd(m) then k:=m div 2+1
else k:=m div 2;
writeln('Двумерный массив:');
for i:=1 to m do
begin
for j:=1 to n do
begin
if i<=k then a[i,j]:=i
else a[i,j]:=m-i+1;
write(a[i,j]:3)
end;
writeln;
end;
end.
Объяснение кода листинга программы
- Создается переменная
a, которая представляет собой двумерный массив целых чисел размером от 2 до 10 по строкам и столбцам. - Задаются переменные
m,n,i,j,kтипаinteger. - В цикле
repeatзапрашивается у пользователя размерность двумерного массива. - Проверяется, что введенные значения
mиnнаходятся в допустимом диапазоне от 2 до 10. - Если
mявляется нечетным числом, то значениеkвычисляется какmделенное на 2 плюс 1. - Если
mявляется четным числом, то значениеkвычисляется какmделенное на 2. - Выводится сообщение с предложением ввести размерность двумерного массива.
- Задаются переменные
iиjот 1 доmиnсоответственно. - В цикле
forперебираются строки двумерного массива. - В каждой итерации цикла проверяется условие
i <= k. - Если условие истинно, то значение
a[i,j]присваивается значениюi. - Если условие ложно, то значение
a[i,j]присваивается значениюm-i+1. - Выводится значение
a[i,j]с приставкой3(для удобства чтения). - После завершения цикла
forвыводится символ новой строки. - Цикл
repeatзавершается только после ввода пользователем корректных значенийmиn. - Код выводит на экран двумерный массив
a.