Работа с массивами - Pascal (80183)
Формулировка задачи:
Помогите решить задание, это не выполнимое задание.
Вариант 2
1. Поменять местами строки 5 и 6. Вывести получившийся массив на экран.
2. Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран.
3. Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран.
4. Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран.
5. Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран.
6. Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран.
7. Транспонировать матрицу:
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
Решение задачи: «Работа с массивами»
textual
Листинг программы
- const n=8;
- var
- a:array[1..n,1..n] of integer;
- i,j:integer;
- procedure Swap(var a,b:integer);
- var
- t:integer;
- begin
- t:=a;a:=b;b:=t;
- end;
- procedure InitMatrix(b:boolean);
- var
- i,j,k:integer;
- begin
- for i:=1 to n do
- for j:=1 to n do begin
- k:=k+1;
- if b then a[i,j]:=k else a[i,j]:=i;
- end;
- end;
- procedure PrintMatrix;
- var
- i,j:integer;
- begin
- for i:=1 to n do begin
- for j:=1 to n do write(a[i,j]:4);
- writeln;
- end;
- end;
- begin
- writeln('1. Поменять местами строки 5 и 6. Вывести получившийся массив на экран.');
- InitMatrix(false);
- PrintMatrix;
- for j:=1 to n do Swap(a[5,j],a[6,j]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('2. Поменять местами столбцы 3 и 4. Вывести получившийся массив на экран.');
- InitMatrix(true);
- PrintMatrix;
- for i:=1 to n do Swap(a[i,3],a[i,4]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('3. Изменить порядок элементов в строке 8 на обратный. Вывести по-лучившийся массив на экран.');
- InitMatrix(true);
- PrintMatrix;
- for j:=1 to n div 2 do Swap(a[8,j],a[8,n-j+1]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('4. Изменить порядок элементов в столбце 1 на обратный. Вывести по-лучившийся массив на экран.');
- InitMatrix(false);
- PrintMatrix;
- for i:=1 to n div 2 do Swap(a[i,1],a[n-i+1,1]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('5. Осуществить перестановку соседних элементов в 2ом столбце. Вы-вести получившийся массив на экран.');
- InitMatrix(false);
- PrintMatrix;
- for i:=1 to n-1 do if odd(i) then Swap(a[i,2],a[i+1,2]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('6. Обменять половины строки 3 местами. Вывести получившийся мас-сив на экран.');
- InitMatrix(true);
- PrintMatrix;
- for j:=1 to n div 2 do Swap(a[3,j],a[3,n div 2+j+n mod 2]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- writeln('7. Транспонировать матрицу:');
- InitMatrix(false);
- PrintMatrix;
- for i:=1 to n-1 do
- for j:=i+1 to n do Swap(a[i,j],a[j,i]);
- writeln('Полученная матрица:');
- PrintMatrix;
- readln;
- end.
Объяснение кода листинга программы
- Инициализация переменной
a
- двумерного массива размером 8x8, переменныхi
иj
для циклов. - Процедура
Swap
для обмена значений переменных. - Процедура
InitMatrix
для заполнения массиваa
числами или последовательными значениями в соответствии с параметромb
. - Процедура
PrintMatrix
для вывода массиваa
на экран. - Инициализация массива
a
и вывод исходного массива на экран. - Обмен элементов строк 5 и 6, вывод получившегося массива на экран.
- Аналогично обмен столбцов 3 и 4, вывод получившегося массива на экран.
- Изменение порядка элементов в строке 8 на обратный, вывод получившегося массива на экран.
- Аналогично изменение порядка элементов в столбце 1, вывод получившегося массива на экран.
- Перестановка соседних элементов во 2 столбце, вывод получившегося массива на экран.
- Обмен половин строки 3 местами, вывод получившегося массива на экран.
- Транспонирование матрицы (перестановка элементов, главная диагональ становится главной основной), вывод получившегося массива на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д