Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 19.01.2015
Сообщений: 50
1

Поменять местами элементы матрицы, расположенные симметрично относительно побочной диагонали

05.06.2017, 21:44. Показов 2827. Ответов 1
Метки нет (Все метки)

Поменять местами элементы матрицы, расположенные симметрично относительно побочной диагонали
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2017, 21:44
Ответы с готовыми решениями:

Поменять местами элементы матрицы симметрично относительно побочной диагонали
Дан двумерный массив размером n×n. Требуется составить программу, которая меняет местами элементы...

Дана матрица 7х7, поменять местами элементы, симметрично относительно побочной диагонали
#include <iostream> #include <conio.h> using namespace std; int main() { ...

Обменять местами элементы матрицы, расположенные симметрично относительно главной диагонали
1. Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100....

Поменять местами элементы главной и побочной диагоналей, симметричные относительно центра матрицы
Задана квадратичная матрица размером nxn поменять местами элементы главной и побочной диагоналей ...

1
1480 / 944 / 811
Регистрация: 30.04.2016
Сообщений: 3,298
05.06.2017, 22:56 2
Лучший ответ Сообщение было отмечено CyberMen как решение

Решение

CyberMen, здравствуйте! Вот мое решение. Может быть, можно проще.

Добавлено через 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int N;
    cout << "Введите размерность матрицы:" << endl;
    cout << "N = ";
    cin >> N;
    int** A = new int*[N];
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
    }
    int** B = new int*[N];
    for (int i = 0; i < N; i++)
    {
        B[i] = new int[N];
    }
    cout << "Введите матрицу:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cin >> A[i][j];
        }
    }
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            B[i][j] = A[N-j-1][i];
        }
    }
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < i; j++)
        {
            if (B[i][j] == B[j][i])
            {
                swap(B[i][j], B[j][i]);
            }
        }
    }
    cout << "Матрица после обмена:" << endl;
    for (int j = N; j--;)
    {
        for (int i = 0; i < N; i++)
        {
            cout << B[j][i] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < N; i++)
    {
        delete [] A[i];
        delete [] B[i];
    }
    delete [] A;
    delete [] B;
    system("pause");
    return 0;
}
Добавлено через 36 минут
CyberMen, вот более компактный вариант решения:

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
#include <iostream>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int N;
    cout << "Введите размерность матрицы:" << endl;
    cout << "N = ";
    cin >> N;
    int** A = new int*[N];
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
    }
    cout << "Введите матрицу:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cin >> A[i][j];
        }
    }
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N - i - 1; j++)
        {
            swap(A[i][j], A[N-j-1][N-i-1]);
        }
    }
    cout << "Матрица после обмена:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < N; i++)
    {
        delete [] A[i];
    }
    delete [] A;
    system("pause");
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2017, 22:56

Поменять местами элементы матрицы, симметричные относительно главной диагонали
Дан Двумерный массив размером n × n. Составить программу, которая меняет местами все элементы,...

Поменять местами элементы квадратной матрицы относительно главной диагонали
Создать массив A(nxn). Поменять местами элементы симметрично главной диагонали.

Поменять местами элементы матрицы, симметричные относительно главной диагонали
Задано двумерный массив.Составить программу которая меняет местами все элементы, симметричные...

Поменять местами элементы матрицы, симметричные относительно главной диагонали
Очень поможете)


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.