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

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

10.03.2018, 23:21. Показов 2551. Ответов 4
Метки нет (Все метки)

1. Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100. Обменять местами элементы массива, расположенные симметрично относительно главной диагонали.
Когда a>=2 то все работает, но, чтобы было по условию задачи, нужно, чтобы a=1, а потом a=0, соответственно симметрично будет.
Почему при вставке в а значение 1 и ниже, выводит индекс массива 3 и 4?

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
#include<iostream>
#include<time.h>
using namespace std;
 
void main()
{
    setlocale(0, "ru");
 
    int mas[5][5];
    srand(time(0));
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            mas[i][j] = rand() % 101;
            cout << mas[i][j] << "\t";
        }
        cout << endl << endl;
    }
    cout << "-----------------------------------\n\n";
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0, b = 4, a = 1; j < 5; j++, b--)
        {
            if (j <= 2)
            {
                mas[i][j] = mas[i][b];
            }
            else 
            {
                mas[i][j] = mas[i][a];
                a--;
            }
        }
        cout << endl << endl;
    }
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            cout << mas[i][j] << "\t";
        }
        cout << endl << endl;
    }
0

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

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

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

Отразить элементы матрицы симметрично относительно главной диагонали
Сформировать квадратный массив целых чисел размерности nxn, где n&lt;10 – вводится с клавиатуры,...

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

Найти элементы заданной матрицы расположенные в указанном положении относительно главной диагонали
дано матрица x(8.8) найти главный диагональ, найти арифметические элементы которые расположены...

4
Эксперт C
26073 / 16263 / 3494
Регистрация: 24.12.2010
Сообщений: 35,642
11.03.2018, 01:06 2
Жуть, конечно... Впрочем, все мы с чего-то начинали...
C++
1
2
3
4
5
6
for(i=1; i<5; i++)
  for(j=0; j<i; j++) {
    int t = mas[i][j];
    mas[i][j] = mas[j][i];
    mas[j][i] = t;
  }
0
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 6
11.03.2018, 16:37  [ТС] 3
Прошу прощения, я тебя правильно понял?
Просто оно выводит неверно...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 1; i<5; i++)
        for (int j = 0; j<i; j++) {
            int t = mas[i][j];
            mas[i][j] = mas[j][i];
            mas[j][i] = t;
        }
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            cout << mas[i][j] << "\t";
        }
        cout << endl << endl;
    }
0
Миниатюры
Обменять местами элементы матрицы, расположенные симметрично относительно главной диагонали  
Эксперт C
26073 / 16263 / 3494
Регистрация: 24.12.2010
Сообщений: 35,642
11.03.2018, 19:29 4
Лучший ответ Сообщение было отмечено Suprem4ik как решение

Решение

Цитата Сообщение от Suprem4ik Посмотреть сообщение
я тебя правильно понял?
А я тебя? Что именно не устраивает? Матрица нормально транспонируется.
Цитата Сообщение от Suprem4ik Посмотреть сообщение
Обменять местами элементы массива, расположенные симметрично относительно главной диагонали.
Именно это программа и делает, что видно на твоих вложениях.
1
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 6
11.03.2018, 23:43  [ТС] 5
Тупанул
Спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2018, 23:43

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

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

Обменять местами квадраты матрицы, стоящие на главной диагонали
Задание: Матрица. Обменять местами квадраты, стоящие на главной диагонали Что за квадраты?

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию
дана матрица размерностью nxn, содержащая целые числа. Отсортировать диагонали...


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

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

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