
![]() |
|
|
![]() |
![]() |
|
![]() ![]() ![]() |
G-UniT |
![]() |
![]() N.D.A.A.G. ![]() ![]() ![]() ![]() Профиль Группа: Пользователи Сообщений: 290 Регистрация: 23.03.2005 Репутация: 13 Место учебы: Жизнь ![]() |
Помогите решить задачу! или хотя бы дайте ссылку где можно найти что-нибудь подобное. Всем буду ооочень благодарен.
![]() Дана квадратная матрица NxN состоящая из натуральных чисел. Необходимо зеркально отразить ее элементы относительно горизонтальной оси симметрии. Вывести результаты на экран. Например для матрицы 3х3 это преобразование будет выглядеть так : А11 А12 А13 А21 А22 А23 А31 А32 А33 ↓ А31 А32 А33 А21 А22 А23 А11 А12 А13 PS: задача должна быть решена на языке Паскаль. |
Alenushka |
16.05.2005 - 19:17 (ссылка на это сообщение)
|
![]() Младший научный сотрудник ![]() ![]() ![]() ![]() Профиль Группа: Пользователи Сообщений: 284 Регистрация: 14.04.2005 Репутация: 32 Место учебы: был ОрелГТУ... ![]() |
Если еще никто не написал, то мой вариант.
const n=3; var mat: array [0..n-1,0..n-1] of integer; i,j,m:integer; BEGIN ... //заполнение матрицы for i:=0 to (n div 2)-1 do for j:=0 to n-1 do begin m:=mat[i,j]; mat[i,j]:=mat[n-1-i,j]; mat[n-1-i,j]:=m; end; .... //вывод результатов END. |
RoDen |
16.05.2005 - 22:13 (ссылка на это сообщение)
|
![]() Уважаемый Председатель ученого совета ![]() Профиль Группа: Серый кардинал Сообщений: 3285 Регистрация: 10.03.2005 Репутация: 248 Место учебы: политех ![]() |
че и как делать:
1 объявить матрицу и переменные 2 заполнить матрицу, например - случайными числами в 2-x циклах for 3 с помошью двух вложенных циклов выполнить "зеркальную перестановку" - Alenushka уже написала, как 4 вывести на экран матрицу - в 2-x циклах for 1,2 и 4 есть в любом примере с матрицами |
G-UniT |
18.05.2005 - 13:07 (ссылка на это сообщение)
|
![]() N.D.A.A.G. ![]() ![]() ![]() ![]() Профиль Группа: Пользователи Сообщений: 290 Регистрация: 23.03.2005 Репутация: 13 Место учебы: Жизнь ![]() |
Всем спасибо.
Задача решена,вот ее решение(может кому-то пригодится). var mat:array[1..10,1..10] of byte; x,y:integer; t:byte; n:byte; begin writeln('Enter matrix long ( max=10 min = 2 )'); readln(n); for y:=1 to n do for x:=1 to n do begin writeln('Enter ',x,' ',y,' element of matrix'); readln(mat[x,y]); end; for y:=1 to n do begin for x:=1 to n do write(mat[x,y]:4,' '); writeln; end; for y:=1 to (n div 2) do for x:=1 to n do begin t:=mat[x,y]; mat[x,y]:=mat[x,(n+1)-y]; mat[x,(n+1)-y]:=t; end; writeln('after'); for y:=1 to n do begin for x:=1 to n do write(mat[x,y]:4,' '); writeln; end; readln end. |
![]() |
![]() ![]() ![]() |