Библиотека
Дневники
Фотогалереи
Легкий форум
Архив
Поиск
Здравствуйте Гость (Вход|Регистрация)   
Студенческий форум
 
 


  Ответ в темуСоздание новой темыСоздание опроса

> ВНИМАНИЕ! помогите!, всем,кто хочет мне помочь, сюда!

G-UniT
Быстрая цитата




N.D.A.A.G.
****

Профиль
Группа: Пользователи
Сообщений: 290
Регистрация: 23.03.2005
Репутация: 13

Место учебы: Жизнь


Помогите решить задачу! или хотя бы дайте ссылку где можно найти что-нибудь подобное. Всем буду ооочень благодарен. worthy.gif


Дана квадратная матрица NxN состоящая из натуральных чисел. Необходимо зеркально отразить ее элементы относительно горизонтальной оси симметрии.
Вывести результаты на экран.
Например для матрицы 3х3 это преобразование будет выглядеть так :

А11 А12 А13
А21 А22 А23
А31 А32 А33

А31 А32 А33
А21 А22 А23
А11 А12 А13

PS: задача должна быть решена на языке Паскаль.
PM
Top
Alenushka
Быстрая цитата




Младший научный сотрудник
****

Профиль
Группа: Пользователи
Сообщений: 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.
PMПисьмо на e-mail пользователюICQ
Top
RoDen
Быстрая цитата




Уважаемый Председатель ученого совета
Group Icon

Профиль
Группа: Серый кардинал
Сообщений: 3285
Регистрация: 10.03.2005
Репутация: 248

Место учебы: политех


че и как делать:
1 объявить матрицу и переменные
2 заполнить матрицу, например - случайными числами в 2-x циклах for
3 с помошью двух вложенных циклов выполнить "зеркальную перестановку" - Alenushka уже написала, как
4 вывести на экран матрицу - в 2-x циклах for


1,2 и 4 есть в любом примере с матрицами
PM
Top
G-UniT
Быстрая цитата




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.
PM
Top
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
 
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:o  :D  :rolleyes:  :cry2: 
:unsure:  :cry:  :angry:  :bleh: 
:dev:  :flowers:  :fool:  :old: 
:shook:  :angel:  :wor:  :rotfl: 
:kov:  :chair:  :friends:  :wub: 
       
Показать всё


 
Опции сообщения  Включить смайлики?
 Включить подпись?
 Использовать AJAX?

Опции темы Ответ в темуСоздание новой темыСоздание опроса

 

Студенческий клуб ostudent.ru и его создатели не несут ответственности за достоверность самостоятельно размещаемой посетителями сайта информации и не могут подтвердить или опровергнуть её.

Этот сайт защищен «Site Guard»