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

Двумерный массив размером МхМ повернуть вправо на 90°

19.11.2021, 01:13. Показов 2308. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданный двумерный массив размером МхМ повернуть вправо на 90°, без
использования вспомогательных массивов. Для заданного условия составить программу и придумать несколько
наборов тестовых данных для отладки. Ввод исходных данных осуществить с клавиатуры (на выбор пользователя).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2021, 01:13
Ответы с готовыми решениями:

Заданный двумерный массив повернуть но 90 градусов вправо без использования вспомогательных массивов
Заданный двумерный массив N*N повернуть но 90 градусов вправо. без использования вспомагательных массивов.

Двумерный массив: Осуществить циклический сдвиг элементов квадратной матрицы размером M * N вправо на k элементов
Помогите пожайлуста написать программу на C#: Осуществить циклический сдвиг элементов квадратной матрицы размером M * N вправо на k ...

Повернуть массив вправо на 90 градусов
Задание: 1.С помощью подпрограммы сформировать массив Ann из целых чисел. С заданными верхним и нижним пределом диапазона чисел, из...

10
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
19.11.2021, 09:20
daria_shla, Поворот двухмерного массива на 90 градусов по часовой стрелке
Готовое задание с учётом одной правки в 35 строке (описано в теме)
0
1 / 1 / 0
Регистрация: 19.11.2021
Сообщений: 89
19.11.2021, 09:46  [ТС]
Спасибо, хотела уточнить, что нужен массив не с целыми числами, а буквами (не int, а string)

Добавлено через 1 минуту
AndreyVorobey, AndreyVorobey, Спасибо, хотела уточнить, что нужен массив не с целыми числами, а буквами (не int, а string)
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
19.11.2021, 10:13
daria_shla,
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
            // Исходная матрица
            int[,] arr = {  { 1, 2, 3 },
                            { 4, 5, 6 },
                            { 7, 8, 9 } };
 
            // Вывод в консоль
            for ( int i = 0; i < arr.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < arr.GetLength( 1 ); j++ )
                    Console.Write( $"{arr[ i, j ]}\t" );
                Console.WriteLine();
            }
            Console.WriteLine();
 
            // Транспонирование
            int tmp;
            for ( int i = 0; i < arr.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < i; j++ )
                {
                    tmp = arr[ i, j ];
                    arr[ i, j ] = arr[ j, i ];
                    arr[ j, i ] = tmp;
                }
            }
 
            // Реверс всех строк
            for ( int i = 0; i < arr.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < arr.GetLength( 1 ) / 2; j++ )
                {
                    (arr[ i, j ], arr[ i, arr.GetLength( 1 ) - 1 - j ]) =
                        (arr[ i, arr.GetLength( 1 ) - 1 - j ], arr[ i, j ]);
                }
            }
 
            // Вывод в консоль
            for ( int i = 0; i < arr.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < arr.GetLength( 1 ); j++ )
                    Console.Write( $"{arr[ i, j ]}\t" );
                Console.WriteLine();
            }
 
            Console.ReadKey();
Тест
Code
1
2
3
4
5
6
7
1       2       3
4       5       6
7       8       9
 
7       4       1
8       5       2
9       6       3
Добавлено через 56 секунд
Цитата Сообщение от daria_shla Посмотреть сообщение
что нужен массив не с целыми числами, а буквами
Разницы нет.
Замените в массиве цифры на буквы или что там нужно.

Добавлено через 2 минуты
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
daria_shla, Поворот двухмерного массива на 90 градусов по часовой стрелке
Готовое задание с учётом одной правки в 35 строке (описано в теме)
Это не подходит под условие задания ТС.
Цитата Сообщение от daria_shla Посмотреть сообщение
без
использования вспомогательных массивов.
0
1 / 1 / 0
Регистрация: 19.11.2021
Сообщений: 89
19.11.2021, 11:56  [ТС]
wizard41, разве оно будет работать без замены на тип string?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
19.11.2021, 12:04
Цитата Сообщение от daria_shla Посмотреть сообщение
разве оно будет работать без замены на тип string?
нет конечно. я имел в виду заменить массив на string[,]
0
1 / 1 / 0
Регистрация: 19.11.2021
Сообщений: 89
19.11.2021, 12:24  [ТС]
wizard41, при вводе символов английского алфавита в массив вместо чисел, выводит ошибку (имя " " не существует в данном контексте)
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
19.11.2021, 12:29
Лучший ответ Сообщение было отмечено daria_shla как решение

Решение

Цитата Сообщение от daria_shla Посмотреть сообщение
выводит ошибку
вводить нужно "a" "b" "c" ...

Добавлено через 3 минуты
C#
1
2
3
4
            // Исходная матрица
            string[,] arr = { { "a", "b", "c" },
                              { "d", "e", "f" },
                              { "g", "h", "i" } };
Вместо int tmp;
C#
1
string tmp;
Code
1
2
3
4
5
6
7
a       b       c
d       e       f
g       h       i
 
g       d       a
h       e       b
i       f       c
1
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
19.11.2021, 12:38
Лучший ответ Сообщение было отмечено daria_shla как решение

Решение

wizard41,
Цитата Сообщение от wizard41 Посмотреть сообщение
Это не подходит под условие задания ТС.
велика проблема - убрать лишнее.
daria_shla,
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
using System;
 
namespace ConsoleApp230
{
    class Program
    {
        static void Main(string[] args)
        {
            char[,] x = new char[3, 3];
 
            for (int i = 0; i < x.GetLength(0); i++)
            {
                for (int j = 0; j < x.GetLength(1); j++)
                {
                    Console.Write($"Введите символ на позиции [{i},{j}]: ");
 
                    x[i, j] = Convert.ToChar(Console.ReadLine());
                }
            }        
            Console.WriteLine("Исходная матрица: ");
 
            for (int i = 0; i < x.GetLength(0); i++)
            {
                for (int j = 0; j < x.GetLength(1); j++)
                {
                    Console.Write(x[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Преобразованная матрица: ");
 
            for (int j = 0; j < x.GetLength(1); j++)
            {
                for (int i = x.GetLength(0) - 1; i >= 0; i--)
                {
                    Console.Write(x[i, j] + " ");
                }
                Console.WriteLine();
            }
        }
    }
}
Добавлено через 44 секунды
Цитата Сообщение от daria_shla Посмотреть сообщение
не с целыми числами, а буквами
буквы - это char
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
19.11.2021, 12:41
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
велика проблема - убрать лишнее.
Для ТС да, велика.
0
1 / 1 / 0
Регистрация: 19.11.2021
Сообщений: 89
21.11.2021, 01:02  [ТС]
wizard41, очень Вам благодарна, прошу прощения за возможные глупые вопросы))

Добавлено через 7 секунд
AndreyVorobey, очень Вам благодарна, прошу прощения за возможные глупые вопросы))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2021, 01:02
Помогаю со студенческими работами здесь

Массив целых чисел «свернуть в кольцо» и повернуть вправо на К позиций
Задание таково - Массив целых чисел x ... x «свернуть в кольцо» и повернуть вправо на К позиций (К может быть больше n) напишите...

Повернуть двумерный массив на 90 градусов
Перевернуть двумерный массив на 90 градусов Например наш инпут 3 4 1 2 3 4 5 6 7 8 9 10 11 12 наш аутпут 4 8 12

Повернуть двумерный массив на 90 градусов
Повернуть двумерный массив на 90 градусов по часовой стрелке. двумерный массив - размер 10х10, диапазон

Нужно повернуть двумерный массив из функции
Как правильно возвратить двумерный массив из функции? Перед компиляцией вылетает следующая ошибка: cannot convert `int (*)' to `int**' in...

Требуется повернуть двумерный массив на 90 градусов
Здравствуйте, у меня проблема. Программа поворачивает массив, но не вывод последнюю строку. ( входные данные 3 4 1 2 3 4 5 6 ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru