Выполнить циклический сдвиг всех элементов заданного двухмерного массива вправо на один элемент - PascalABC.NET
Формулировка задачи:
Выполнить циклический сдвиг всех элементов заданного двухмерного массива вправо на один элемент. (Последний элемент строки становится первым элементом следующей, последний элемент последней строки - первым элементом первой строки).
Входные данные:
Во входном потоке в первой строке задано целое число N (0 < N <= 100) - размерность массива квадратного A (N - число строк и столбцов).
В последующих N строках записано по N целых чисел - элементы массива.
Значения элементов массива по модулю не превышают 32000.
Выходные данные:
В выходной поток вывести значения элементов полученного массива в виде таблицы. Элементы строк массива перечислять через пробел.
Пример входного файла (input.txt):
3
1 2 3
4 3 2
5 6 7
Пример выходного файла (output.txt):
7 1 2
3 4 3
2 5 6
Решение задачи: «Выполнить циклический сдвиг всех элементов заданного двухмерного массива вправо на один элемент»
textual
Листинг программы
Var a: array [,] of integer; q,i,k: integer; f,g: text; Begin assign(f,'input.txt'); reset(f); readln(f,q); a:= new integer[q,q]; For i:=0 to q-1 do For k:=1 to q do begin if (i=q-1) and (k=q) then read(f,a[0,0]) else if k > q-1 then read(f,a[i+1,k-q]) else read(f,a[i,k]); end; close(f); Writeln('Сдвинутый массив:'); For i:=0 to q-1 do begin For k:=0 to q-1 do Write(a[i,k]:4); WriteLn; end; assign(g,'output.txt'); rewrite(g); For i:=0 to q-1 do begin For k:=0 to q-1 do Write(g,a[i,k],' '); WriteLn(g); end; close(g); End.
Объяснение кода листинга программы
- Объявлены переменные: a (двумерный массив), q, i, k (циклы), f, g (файлы ввода-вывода), а также строки f, g.
- Открывается файл f для чтения из файла input.txt.
- В цикле с i от 0 до q-1 и с k от 1 до q происходит чтение элементов массива a из файла f.
- Если i равно q-1 и k равно q, то считывается первый элемент массива a[0,0].
- Если k больше q-1, то считывается элемент a[i+1,k-q].
- В противном случае считывается элемент a[i,k].
- Цикл завершается.
- Файл f закрывается.
- Выводится сообщение
Сдвинутый массив:
и в цикле с i от 0 до q-1 происходит вывод элементов массива a. - Каждый элемент выводится в отдельной строке с помощью функции WriteLn.
- Формируется имя файла g и открывается файл g для записи в файл output.txt.
- В цикле с i от 0 до q-1 происходит запись элементов массива a в файл g.
- Каждый элемент записывается в отдельной строке с помощью функции WriteLn.
- Файл g закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д