Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Развернуть матрицу используя скалярные выражения, C# 
:(
    Опции темы
Telsystems
Дата 9.9.2014, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день.

Есть задание:

Дана квадратная матрица размерности N, Например:
| 5 |12|88|
|65|54|43|
|81|92|56|

Нужно ее развернуть на 90 градусов, чтобы вышло:
|81|65| 5 |
|92|54|12|
|56|43|88|

Вопрос: как это сделать не копируя матрицу в память и без использования любых динамических структур? Можна использовать счетное количество скалярных переменных, не зависящее от размерности матрицы.

UPD:

Делаю так:

Код

public static void Rotate()
{
    int tmp;
    for (int i = 0; i < n/2; i++)
    {
        for (int j = i; j < n - 1 - i; j++)
        {
            tmp = matrix[i,j];
            matrix[i,j] = matrix[n - j - 1,i];
            matrix[n - j - 1,i] = matrix[n - i - 1,n - j - 1];
            matrix[n - i - 1,n - j - 1] = matrix[j,n - i - 1];
            matrix[j, n - i - 1] = tmp;
        }
     }
}


На сколько такое решение правильно? Спасибо!
Спасибо!


Это сообщение отредактировал(а) Telsystems - 10.9.2014, 14:30
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


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

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


 




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


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

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