Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2007, 10:55   #1
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию Зеркальное отображение элементов матрицы в паскале

Помогите пожалуйста(еще раз),мне дали задачу и сказали поставят зачет автоматом,если я ее решу,вот условие:
ввести квадратную матрицу,зеркально отобразить элементы,НО! не просто поменяв i(номер строки) и j(номер столбца) местами,а другим способом.Также дана подсказка:1ая матрица будет обычной,2я зеркальной,а 3я зеркальным отображением 1й.Просьба ко всем,кто хорошо знает паскаль-помочь.Заранее спасибо.
SEREG@ вне форума Ответить с цитированием
Старый 16.12.2007, 11:51   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Изложите задание в оригинале без ваших комментариев, иначе задачу не решить.
Вот пример создания зеркальных отображений матрицы по осям X и Y.
Код:
program zerkalo;
uses crt;
var n,i,j:integer;a:array[1..100,1..100] of integer;
begin
clrscr;
write('n=');readln(n);
randomize;
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=10*i+j;
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
{zerkalo po osi Y}
for i:=1 to n do
  begin
    for j:=n downto 1 do
      begin
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
{zerkalo po osi X}
 for i:=n downto 1 do
  begin
    for j:=1 to n do
      begin
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
end.

Последний раз редактировалось puporev; 16.12.2007 в 12:19.
puporev вне форума Ответить с цитированием
Старый 16.12.2007, 12:46   #3
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Изложите задание в оригинале без ваших комментариев, иначе задачу не решить.
Вот пример создания зеркальных отображений матрицы по осям X и Y.
Вот сама задача в оригинале:
Ввести квадратную матрицу (4 на 4),зеракльно отобразить элементы относительно главной диагонали.

Но также сказано,что нельзя использовать метод:"x" нельзя менять местами c "y",т.к. это было бы слишком легко,т.е. нельзя менять местами индексы строк и столбцов.Дана подсказка:использовать 3 матрицы.

Последний раз редактировалось SEREG@; 16.12.2007 в 22:33.
SEREG@ вне форума Ответить с цитированием
Старый 16.12.2007, 12:58   #4
shepelin
Пользователь
 
Аватар для shepelin
 
Регистрация: 11.12.2007
Сообщений: 94
По умолчанию

элементы отобразить заркально относительно чего?
-Сколько будет 2х2=4?
-TRUE
shepelin вне форума Ответить с цитированием
Старый 16.12.2007, 13:02   #5
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию

Цитата:
Сообщение от shepelin Посмотреть сообщение
элементы отобразить заркально относительно чего?
Относительно главной диагонали.Короче поменять местами элементы относительно главной диагонали.

Тут мне подсказали,что надо повернуть 1ый массив 2 раза по часовой стрелке,но как записать незнаю(.

Последний раз редактировалось SEREG@; 16.12.2007 в 13:21.
SEREG@ вне форума Ответить с цитированием
Старый 16.12.2007, 21:17   #6
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию

Ну че поможете?Очень прошу помогите,мне зачет поставят если решу задачу.
SEREG@ вне форума Ответить с цитированием
Старый 16.12.2007, 21:22   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ты целый день не можешь по человечески написать задание, и чего-то ждешь. Это тебе надо Иванушку-дурачка. Только он может пойти туда, незнаю куда и т.д. А зачет тебе поставят, если РЕШИШЬ задачу.
puporev вне форума Ответить с цитированием
Старый 16.12.2007, 22:35   #8
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Ты целый день не можешь по человечески написать задание, и чего-то ждешь. Это тебе надо Иванушку-дурачка. Только он может пойти туда, незнаю куда и т.д. А зачет тебе поставят, если РЕШИШЬ задачу.
Цитата:
Сообщение от SEREG@ Посмотреть сообщение
Вот сама задача в оригинале:
Ввести квадратную матрицу (4 на 4),зеракльно отобразить элементы относительно главной диагонали.

Но также сказано,что нельзя использовать метод:"x" нельзя менять местами c "y",т.к. это было бы слишком легко,т.е. нельзя менять местами индексы строк и столбцов.Дана подсказка:использовать 3 матрицы.
Вот сама задача в оригинале,еще раз повторяю.Красным шрифтом выделена задача такой,какой учитель мне ее дал.
SEREG@ вне форума Ответить с цитированием
Старый 17.12.2007, 09:20   #9
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Постепенно до меня дошло что тебе надо.
Получить зеркальное отображение матрицы по главной диагонали, используя дополнительный массив.
Делаем так:
1. Поворот матрицы на 270*.
2. Зеркальное отображение по оси Х.
Вот код для любой матрицы до 50х50:
Код:
program zerkalo2;
uses crt;
var n,i,j:integer;a,b:array[1..50,1..50] of integer;
begin
clrscr;
write('n=');readln(n);
writeln('Ischodnaia matritsha:');
randomize;
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=10*i+j;
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
Writeln('Povorop na 270 grad:');
for i:=1 to n do
for j:=1 to n do
b[i,j]:=a[j,n-i+1];
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        write(b[i,j]:3);
      end;
  writeln;
  end;
readln;
a:=b;
writeln('Zerkalo po osi X:');
 for i:=n downto 1 do
  begin
    for j:=1 to n do
      begin
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
end.
puporev вне форума Ответить с цитированием
Старый 17.12.2007, 16:23   #10
SEREG@
Пользователь
 
Регистрация: 14.12.2007
Сообщений: 30
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Постепенно до меня дошло что тебе надо.
Получить зеркальное отображение матрицы по главной диагонали, используя дополнительный массив.
Делаем так:
1. Поворот матрицы на 270*.
2. Зеркальное отображение по оси Х.
Вот код для любой матрицы до 50х50:
Большое спасибо,проверил по паскалю-программа работает,как ты додумался еще решить?ты не программист случаем?
SEREG@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с поиском max элементов строк матрицы в Паскале annexion Помощь студентам 4 05.04.2010 10:44
Перебор элементов матрицы pikkk Общие вопросы Delphi 3 09.05.2008 14:45
отображение матрицы в окне pu4koff Общие вопросы C/C++ 5 18.12.2007 15:07
количество элементов матрицы, больших среднего арифмитического всех её элементов finch Помощь студентам 3 27.08.2007 15:48