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

Отразить элементы матрицы симметрично относительно главной диагонали

15.12.2018, 00:42. Показов 1810. Ответов 7
Метки нет (Все метки)

Сформировать квадратный массив целых чисел размерности nxn, где n<10 – вводится с
клавиатуры, значения элементов массива в диапазоне [-100,100] – вводятся случайным образом.
Вывести на экран массив. Отобразить элементы симметрично относительно главной диагонали.
Вывести полученный массив на экран.
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2018, 00:42
Ответы с готовыми решениями:

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

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

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

Отразить матрицу симметрично относительно побочной диагонали
Никак не могу решить задачку: заполнить матрицу случайными числами, отобразить матрицу симметрично...

7
6591 / 4484 / 2561
Регистрация: 18.12.2017
Сообщений: 13,983
15.12.2018, 01:28 2
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
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n;
    
    do
    {
    cout <<"1<n<10  n="; cin >>n;
    if (n<2 || n>9) cout <<"1<n<10 !!! Repeat please...\n";
    }
    while (n<2 || n>9);
    
      int **a = new int*[n];
    for (int i = 0; i < n; i++)
         a[i]=new int[n];
    
    cout <<"Matrix a:\n";    
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < n; j++)
    {
      a[i][j]=rand()%201-100;
      cout <<setw(4)<<a[i][j]<<" ";
    }
    cout <<endl;
    }    
    
    for (int i = 0; i < n; i++)    
    for (int j = 0; j < n; j++)    
      if (i>j) swap(a[i][j],a[j][i]);   
                
    cout <<"Modified matrix a:\n";            
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; j++)        
        cout <<setw(4)<<a[i][j]<<" ";        
        cout <<endl;
    }   
    
    for (int i = 0; i < n; i++)
    delete[]a[i];
    delete[]a;
 
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 17.11.2018
Сообщений: 10
15.12.2018, 01:59  [ТС] 3
Спасибо Вам огромное!
Судя по Вашим регулярным ответам, Вы профи в вопросах C++. Может быть Вы можете посоветовать хорошее учебное пособие/книгу для изучения этого языка? Хочется, все же, во всём этом нормально разобраться)
0
443 / 329 / 172
Регистрация: 01.07.2015
Сообщений: 1,162
15.12.2018, 04:44 4
Karakulko_EV, в прикрепленных темах есть литература по с++

тык
1
Модератор
Эксперт С++
11123 / 9163 / 5504
Регистрация: 18.12.2011
Сообщений: 24,475
15.12.2018, 06:32 5
Цитата Сообщение от Yetty Посмотреть сообщение
C++
1
2
3
for (int j = 0; j < n; j++)
    if (i>j) 
          swap(a[i][j],a[j][i]);
.
Это можно написать чуть проще
C++
1
2
for (int j = i+1; j < n; j++)
          swap(a[i][j],a[j][i]);
1
Yetty
15.12.2018, 11:58
  #6

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Это можно написать чуть проще
спасибо, я в курсе. когда-то читал, что предложенный Вами способ (при замене интервалов в циклах) работает медленнее,
так что при альтернативе я выбираю тот, который в коде.

0
Модератор
Эксперт С++
11123 / 9163 / 5504
Регистрация: 18.12.2011
Сообщений: 24,475
15.12.2018, 13:19 7
Не может он работать медленнее, т.к. количество итераций вдвое меньше
0
6591 / 4484 / 2561
Регистрация: 18.12.2017
Сообщений: 13,983
15.12.2018, 18:53 8
Цитата Сообщение от zss Посмотреть сообщение
Не может он работать медленнее, т.к. количество итераций вдвое меньше
читал что работает медленнее и у меня пока нет оснований не доверять автору статьи. если найду ссылку, сброшу. а в циклах про которые Вы говорите ничего не выполняется, так что вряд ли они сильно влияют на время работы.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2018, 18:53

Зеркально отразить элементы матрицы относительно побочной диагонали
Дана квадратная матрица NxN, состоящая из натуральных чисел.Зеркально отразить ее элементи...

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

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

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


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

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

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