Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Java]Поворот матрицы на угол 90 градусов 
V
    Опции темы
Flamela
Дата 16.12.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



Пожалуйста помогите реализовать задачу!
Дана квадратная матрица A порядка m. Повернуть ее на угол 90 градусов в положительном направлении, т.е. против часовой стрелки(при этом элемент A11 перейдет в Am1, элемент Am1 в Amm и т.д.) Вспомогательную матрицу не использовать.
PM MAIL   Вверх
nickless
Дата 17.12.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



Код
public class Matrix
{
    public static void main(String[] argv)
    {
        int m = 6;
        int[][] A = new int[m][m];

        // fill matrix
        for (int i=0; i<m; i++)
        {
            for (int j=0; j<m; j++)
            {
                A[i][j] = m*i + j;
            }
        }

        // print
        for (int i=0; i<m; i++)
        {
            for (int j=0; j<m; j++)
            {
                System.out.printf("%3d ", A[i][j]);
            }
            System.out.print("\n");
        }

        System.out.print("\nrotated\n\n");

        // rotate
        for (int k=0; k<m/2; k++) // border -> center
        {
            for (int j=k; j<m-1-k; j++) // left -> right
            {
                // меняем местами 4 угла
                int tmp         = A[k][j];
                A[k][j]         = A[j][m-1-k];
                A[j][m-1-k]     = A[m-1-k][m-1-j];
                A[m-1-k][m-1-j] = A[m-1-j][k];
                A[m-1-j][k]     = tmp;
            }
        }

        // print
        for (int i=0; i<m; i++)
        {
            for (int j=0; j<m; j++)
            {
                System.out.printf("%3d ", A[i][j]);
            }
            System.out.print("\n");
        }
    }
}

Не забыл я пока еще яву smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Flamela
Дата 17.12.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



Огромное спасибо!!!!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.