Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86

Матрицу нужно повернуть на 270, 180 и 90 градусов. Правильно ли написан код?

13.03.2013, 18:19. Показов 5505. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
int n = int.Parse(Console.ReadLine());
            int[,] a = new int[n, n];
            int[,] а1 = new int[n, n];
            Random rnd = new Random();
            for (int i = 0; i <= n - 1; ++i)
            {
                for (int j = 0; j <= n - 1; ++j)
                {
                    a[i, j] = rnd.Next(0, 100);
                    Console.Write("  " + a[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine("при повороті на 270 градусів");
            for (int i = 0, t = n - 1; i <= n - 1; ++i, --t)
            {
                for (int j = 0; j <= n - 1; ++j)
                {
                     а1[i, j] = a[j, t];
                    Console.Write("  " +  а1[i, j] + "");
                }
                Console.WriteLine();
            }
            Console.WriteLine("при повороті на 180 градусів");
            for (int i = 0, t = n - 1; i <= n - 1; ++i, --t)
            {
                for (int j = 0,k=n-1; j <= n - 1; ++j,--k)
                {
                     а1[i, j] = a[t,k];
                    Console.Write("  " +  а1[i, j] + "");
                }
                Console.WriteLine();
            }
             Console.WriteLine("при повороті на 90 градусів");
            for (int i = 0; i <= n - 1; ++i )
            {
                for (int j = 0,t=n-1; j <= n - 1; ++j,--t)
                {
                    а1[i, j] = a[t, i];
                    Console.Write("  " + а1[i, j] + "");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2013, 18:19
Ответы с готовыми решениями:

Дана квадратная матрица порядка M. Повернуть ее на 90, 180 и 270 градусов в положительном направлении
Помогите пожалуйста с задачей!! Заранее спасибо. Дана квадратная матрица порядка M. Повернуть ее на 90, 180 и 270 градусов в...

повернуть матрицу n x n на 90 и 270 градусов
Как повернуть матрицу n x n на 90 и 270 градусов?

Повернуть матрицу на 90, 180 и 270 градусов
Помогите пожалуйста в решение задания. Дана матрица первый элемент которой а=5, каждый последующий элемент больше предыдущего на 5....

6
 Аватар для NiceGuyEddy
220 / 143 / 35
Регистрация: 25.06.2010
Сообщений: 383
13.03.2013, 19:19
Запустил, вроде как правильно поворачивает.
0
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86
13.03.2013, 19:37  [ТС]
NiceGuyEddy, Вы мне вчера помогли написать вот этот код, а теперь мне не понятна одна строка. Вам не составит туда мне объяснить??Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 int[,] mas = { { -1, 45, -3 }, { 4, -5, 6 }, { 54, 43, -9 } };
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                int count = 0;
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    Console.Write(" mas[" + i + "," + j + "]: " + mas[i, j] + "\t");
                    if (mas[i, j] > 35)
                        count++;
                }
                Console.WriteLine("Кол-во чисел больше 35: " + count);
            }
            Console.ReadKey();
И вот та строка, что не понятная
C#
1
Console.Write(" mas[" + i + "," + j + "]: " + mas[i, j] + "\t");
0
 Аватар для NiceGuyEddy
220 / 143 / 35
Регистрация: 25.06.2010
Сообщений: 383
13.03.2013, 19:50
Викторка, тут все просто. Эта строка выводит на экран элемент массива mas с индексами i и j. После двоеточия выводит уже значение этой ячейки массива. То есть примерно так:

mas[1,1]: 75.

Вместо 75 любое число может быть, в зависимости, какое значение присвоено этой ячейке. Ну, вот как-то так )
1
-9 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 86
13.03.2013, 20:01  [ТС]
NiceGuyEddy, а вот моё то задание, где нужно повернуть матрицу. Вот он задает одинаковое количество строк и столбцов, а я хочу, что бы было разное. И вот в начале я пишу
C#
1
2
3
4
5
 Console.Write("m=");
            int m = int.Parse(Console.ReadLine());
            Console.Write("n=");
            int n = int.Parse(Console.ReadLine());
            Random h = new Random();
Но оно мне далее всё систему рушит. подскажите
0
 Аватар для NiceGuyEddy
220 / 143 / 35
Регистрация: 25.06.2010
Сообщений: 383
13.03.2013, 22:27
Викторка, если никто не возьмется, то завтра я вам помогу, сегодня уже времени нет.
0
32 / 32 / 12
Регистрация: 18.03.2011
Сообщений: 102
13.03.2013, 23:52
Для разного размера строк и столбцов.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
        Console.Write("Введите количество строк: ");
        int n = int.Parse(Console.ReadLine());
        Console.Write("Введите количество столбцов: ");
        int m = int.Parse(Console.ReadLine());
        int[,] a = new int[n, m];
        int[,] а1 = new int[n, m];
        int[,] а2 = new int[m, n];
        Random rnd = new Random();
        for (int i = 0; i < n; ++i)
        {
            for (int j = 0; j < m; ++j)
            {
                a[i, j] = rnd.Next(0, 100);
                Console.Write("  " + a[i, j] + " ");
            }
            Console.WriteLine();
        }
        Console.WriteLine("при повороті на 270 градусів");
        for (int i = 0, t = m - 1; i < m || t >= 0; i++, t--)
        {
            for (int j = 0; j < n ; j++)
            {
                а2[i, j] = a[j, t];
                Console.Write("  " + а2[i, j] + "");
            }
            Console.WriteLine();
        }
        Console.WriteLine("при повороті на 180 градусів");
        for (int i = 0, t = n - 1; i < n; i++, t--)
        {
            for (int j = 0, k = m - 1; j < m; j++, --k)
            {
                а1[i, j] = a[t, k];
                Console.Write("  " + а1[i, j] + "");
            }
            Console.WriteLine();
        }
        Console.WriteLine("при повороті на 90 градусів");
        for (int i = 0; i < m; i++)
        {
            for (int j = 0, t = n - 1; j < n; j++, --t)
            {
                а2[i, j] = a[t, i];
                Console.Write("  " + а2[i, j] + "");
            }
            Console.WriteLine();
        }
        Console.ReadKey();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2013, 23:52
Помогаю со студенческими работами здесь

Повернуть матрицу на 90, 180, 270 градусов
Дана квадратная матрица порядка M. Повернуть ее на 90, 180 и 270 градусов в положительном направлении. Нашел вот такой вот код: ...

Повернуть картинку на 90, 180 и 270 градусов без функции rotate
Повернуть картинку на 90,180,270 градусов.через цикл,без функции rotate.С помощью строк и столбцов.и транспонирования.

Перевернуть матрицу на 90, 180 и 270 градусов
Не могу вникнуть в алгоритм, голова вообще не варит, помогите, пожалуйста )

Повернуть матрицу на 180 градусов
Матрицу NxN повернуть (без использования вспомогательных массивов) на 180 градусов.

Повернуть матрицу на 180 градусов.
Добрый вечер уважаемые программисты... Помогите решить матрицу, у меня небольшой завал ( Дана квадратная матрица A порядка M....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru