IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите, пожалуйста, решить матрицу
Альберт
сообщение 25.11.2003 23:06
Сообщение #1


Гость






Привет народ помогите, пожалуйста, решить задачу.
Нужно преобразовать матрицу, осуществив поворот элементов
вокруг его центра на 90 гр. против часовой стрелки.
                             1 2 3              3 3 3
Была матрица:     1 2 3  стала:  2 2 2
                             1 2 3              1 1 1
Мыльте кому не трудно на albert01@nyagan.wsnet.ru
Спасибо.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
fms
сообщение 28.11.2003 11:00
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


чего то не совсем понятно.. ((


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 28.11.2003 11:13
Сообщение #3


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Дополнительный массив можно использовать? а то без него лениво...
Код

const n = 3;
var a, b : array[1..n, 1..n] of byte;
   i, j : integer;
begin
{ввод матрицы}
  writeln('input your matrix ', n, ' x ', n);
  for i:=1 to n do for j:=1 to n do read(a[i,j]);

{переворот}
  for i:=1 to n do
      for j:=1 to n do b[j,i]:=a[i,j];

{вывод матрицы}
  for i:=1 to n do begin
    for j:=1 to n do write(B[i,j],' ');
    writeln
  end;
end.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 28.11.2003 13:20
Сообщение #4


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Цитата
Дополнительный массив можно использовать? а то без него лениво...


Этот вариант не правильный. Он поворачивают матрицу на 180 гр., а надо на 90....


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GLuk
сообщение 28.11.2003 13:55
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


2APAL: ДЫк, представил бы правильный вариант и вообще от тебя решений в последнее, да и в первое время: по-минимуму, а все-таки модер...
Конечно копаться в чужих легче, чем делать свои.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 28.11.2003 15:35
Сообщение #6


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Я над этой задачей уже думаю... Нашел немного материала в сети и не все так легко как кажется.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 28.11.2003 19:59
Сообщение #7


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


APAL писАл: "этот вариант неправильный. Он поворачивают матрицу на 180 гр., а надо на 90.... "

Да он по ходу ее вообще транспонирует... ладно, сейчас исправим...


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 28.11.2003 20:13
Сообщение #8


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Код

const n = 3;
var a, b : array[1..n, 1..n] of byte;
   i, j : integer;
begin
{ввод матрицы}
  writeln('input your matrix ', n, ' x ', n);
  for i:=1 to n do for j:=1 to n do read(a[i,j]);

{переворот}
  for i:=1 to n do
    for j:=1 to n do b[n-j+1,i]:=a[i,j];

{вывод матрицы}
  writeLn;
  for i:=1 to n do begin
    for j:=1 to n do write(B[i,j],' ');
    writeln
  end;
end.


Вроде так...
Тесты:
input your matrix 5 x 5
1 2 3 4 5
3 1 4 1 5
9 2 6 5 3
5 8 9 7 9
3 2 3 8 4

5 5 3 9 4
4 1 5 7 8
3 4 6 9 3
2 1 2 8 2
1 3 9 5 3
input your matrix 3 x 3
1 2 3
4 5 6
7 8 9

3 6 9
2 5 8
1 4 7

Оно? smile.gif


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
fms
сообщение 28.11.2003 20:49
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


хе. теперь понятно.. smile.gif а то примеры странные написаны..))


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"