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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 23:20   #1
Alex1123
 
Регистрация: 24.05.2011
Сообщений: 5
Лампочка поворот матрицы на 180 и 270 градусов

Напишите пожалуйста код на С# для поворота матрицы на 180 и 270 градусов (матрица квадратная)


____
Внимание!
Кросспостинг (создание одинаковых тем) запрещён правилами форума.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.05.2011 в 23:29.
Alex1123 вне форума Ответить с цитированием
Старый 25.05.2011, 09:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Alex1123, я люблю такие простенькие задачки...
Но Вы бы хоть бы ввод и отображение содержимого матрицы привели...
а то вообще неизвестно, то ли Вам в консоли это нужно, то ли в Windows Forms...
(я понимаю, что код поворота от этого не изменяется, но тестировать алгоритм же всё равно надо...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2011, 18:27   #3
Alex1123
 
Регистрация: 24.05.2011
Сообщений: 5
По умолчанию

надо в консоли, часть программы готово - это транспонирование...
Alex1123 вне форума Ответить с цитированием
Старый 25.05.2011, 18:27   #4
Alex1123
 
Регистрация: 24.05.2011
Сообщений: 5
По умолчанию

Код:
namespace transpmatrix
{
    class Matrix
    {
        // Матрица, строки, колонки
        public int[,] matrix;
        public int mxRows;
        public int mxCols;

        // Инициализация
        public Matrix(int nRows, int nCols)
        {
            mxRows = nRows;
            mxCols = nCols;
            matrix = new int[nRows, nCols];
        }

        // Получения числа колонок
        public int GetMatrixCols
        {
            get { return mxCols; }
        }

        // Получения числа строк
        public int GetMatrixRows
        {
            get { return mxRows; }
        }

        // Доступ к элементам матрицы
        public double this[int i, int j]
        {
            set { matrix[i, j] = Convert.ToInt16(value); }
            get { return matrix[i, j]; }
        }
        
        
    }

    class Core
    {
       
        static void Main(string[] args)
        {
            // Размеры матрицы
            int nOrigRows, nOrigCols;
            int i, j;

            // Запрашиваем размеры матрицы
            try
            {
                Console.Write("Число строк и колонок матрицы: ");
                nOrigRows = Convert.ToInt16(Console.ReadLine());
                nOrigCols = nOrigRows;
            }
            catch
            {
                Console.WriteLine("Неверные параметры матрицы!");
                Console.ReadLine();
                return;
            }

            // Создаем обычную и транспонированую матрицу
            Matrix mA = new Matrix(nOrigRows, nOrigCols);
            Matrix mT = new Matrix(nOrigCols, nOrigRows);

            Console.WriteLine("Матрица размером {0}x{1}", nOrigRows, nOrigCols);
            Console.WriteLine("--------");

            // Заполняем элементы матрицы
            for (i = 0; i < nOrigRows; i++)
            {
                for (j = 0; j < nOrigCols; j++)
                {
                    Console.Write("Элемент {0} строка {1}: ", j + 1, i + 1);
                    mA[i, j] = Convert.ToInt16(Console.ReadLine());
                    Console.WriteLine();
                }
            }

            // Транспонируем матрицу
            for (i = 0; i < nOrigCols; i++)
            {
                for (j = 0; j < nOrigRows; j++)
                {
                    mT[i, j] = mA[j, i];
                    
                }
            }

            // Вывод результата
            Console.Clear();
            Console.WriteLine("Транспонированая матрица:\n");

            for (i = 0; i < mT.GetMatrixRows; i++)
            {
                for (j = 0; j < mT.GetMatrixCols; j++)
                {
                    Console.Write(" {0}", mT[i, j]);
                }
                Console.WriteLine();
            }

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте, пожалуйста, об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.05.2011 в 20:01.
Alex1123 вне форума Ответить с цитированием
Старый 25.05.2011, 18:31   #5
Alex1123
 
Регистрация: 24.05.2011
Сообщений: 5
По умолчанию

на 180 и 270 градусов обратился за помощью
Alex1123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как повернуть изображение на 180 градусов? kl45gp Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 11.05.2013 13:10
Поворот матрицы на 90 градусов. Что не так? Nice_nastya Общие вопросы C/C++ 8 22.05.2011 17:41
Поворот матрицы на 90 градусов Альбиша Помощь студентам 2 26.05.2010 01:19
повернуть экран на 180 градусов jihot Общие вопросы Delphi 4 10.04.2010 13:07