0 / 0 / 0
Регистрация: 16.01.2019
Сообщений: 20

Зеркально отразить элементы матрицы относительно побочной диагонали

17.01.2019, 14:17. Показов 5004. Ответов 1

Студворк — интернет-сервис помощи студентам
Дана квадратная матрица NxN, состоящая из натуральных чисел.Зеркально отразить ее элементи относительно побочной диагонали.Вывести результат на экран.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2019, 14:17
Ответы с готовыми решениями:

Зеркально отразить элементы матрицы относительно побочной диагонали
Заданная квадратная матрица (n × n). Зеркально отразить ее элементы относительно побочной диагонали const int n = 4; int a; int i,...

Зеркально отразить ее элементы относительно побочной диагонали.
Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно побочной диагонали. (при этом элементы побочной диагонали...

Транспонировать матрицу и зеркально отразить ее элементы относительно побочной диагонали
Сначала транспонировать квадратный целочисленный массив matrix, а затем его элементы отразить зеркально относительно побочной диагонали....

1
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
17.01.2019, 19:45
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//g++  5.4.0
 
#include <iostream> // cout endl
#include <iomanip> // setw
#include <array> // array
#include <algorithm> // swap
#include <random> // random_device mt19937 uniform_int_distribution
#include <stdexcept> // range_error
 
// облегчим работу с динамической памятью используя массив массивов библиотеки STL(std::array)
template<std::size_t _Size>
using Matrix = std::array<std::array<int, _Size>, _Size>;
 
template<std::size_t _Size>
void flipMirror(Matrix<_Size> &matrix) // отражение матрицы относительно побочной диагонали
{
    auto Len = matrix.size();
    for (std::size_t i{}, count{1}; i < (Len - 1); ++i, ++count)
    {
        for (std::size_t j{}; j < Len; ++j)
        {
            std::swap(matrix[i][j], matrix[Len - j - 1][Len - i - 1]);
        }
    }
}
 
template<std::size_t _Size>
void print(const Matrix<_Size> &matrix) // вывод матрицы
{
    auto Len = matrix.size();
    for (std::size_t i{}; i < Len; ++i)
    {
        for (std::size_t j{}; j < Len; ++j)
        {
            std::cout << std::setw(4) << matrix[i][j] << ' ';
        }
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
template<std::size_t _Size>
void generate(Matrix<_Size> &matrix, int lowBound, int highBound,
    std::mt19937 &generator) // заполнить матрицу случайными числами
{
    if (lowBound > highBound)
    {
        throw std::range_error{"lowBound > highBound"};
    }
    else
    {
        std::uniform_int_distribution<> distribution{lowBound, highBound}; // равномерное распределение [glLowBound, glHighBound]
        for (std::size_t i{}; i < matrix.size(); ++i)
        {
            std::generate(matrix[i].begin(), matrix[i].end(),
                [&distribution, &generator]() { return distribution(generator); /* генерируем случайное число */ });
        }
    }
}
 
int main()
{
    // Инициализируем генератор случайных чисел
    std::random_device random_device{};
    std::mt19937 generator{random_device()};
    
    const int glSize{4}; // размер матрицы
    Matrix<glSize> matrix{}; // матрица
    
    generate(matrix, 0, 9, generator); // матрица случайных чисел от 0 до 9 (включительно)
    
    std::cout << "Before flipMirror:" << std::endl;
    print(matrix);
    
    flipMirror(matrix);
    std::cout << "After flipMirror:" << std::endl;
    print(matrix);
    
    std::cout << "(2) After flipMirror:" << std::endl;
    flipMirror(matrix);
    print(matrix);
}
Проверить ТУТ [rextester]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2019, 19:45
Помогаю со студенческими работами здесь

Зеркально отразить элементы матрицы относительно главной диагонали
Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно главной диагонали (при этом элементы главной диагонали...

Зеркально отразить элементы матрицы относительно главной диагонали используя указатели
Помогите решить эту задачу с помощью указателей. Ниже приведен решение без указателей. Попробовал понять в интернете, все без толку :sorry:...

Зеркально отразить заданную квадратную матрицу относительно побочной диагонали
Задана матрица A размерности n x n. Зеркально отразить ее относительно побочной диагонали.

Зеркально отразить матрицу относительно главной диагонали и найти строки, элементы которой образуют последовательность
Задана матрица A(n,n). Зеркально отразить ее относительно главной диагонали. В преобразованной матрице найти строки, элементы которой ...

Зеркально отразить элементы матрицы элементы относительно горизонтальной оси
Дана квадратная матрица порядка 2n+1 . Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы на языке С++ ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru