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

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим

16.01.2014, 13:27. Просмотров 1093. Ответов 4
Метки нет (Все метки)

помогите пожалуйста.

условие: дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не симметричной, сдвинув строку, содержащую элемент с максимальным значением на 1 элемент вправо.


сижу уже который день.
то условие проверки не работает, то еще что-то.
совсем не получается.
помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 13:27
Ответы с готовыми решениями:

Дана квадратная матрица А порядка n. Составить программу которая все элементы расположенные на главных и побочных диагоналях заменяет на минимальное.
Дана квадратная матрица А порядка n. Составить программу которая все элементы...

Дана прямоугольная матрица А размером N × M. Составить программу, которая преобразует матрицу следующим образом: поэлементно вычитает первый столбец
Дана прямоугольная матрица А размером N × M. Составить программу, которая...

составить программу:дана матрица....
Дана целочисленная матрица размера 6x9, содержащая как положительные, так и...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() {...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int...

4
Alex5
1123 / 784 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
16.01.2014, 15:09 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
52
53
54
55
56
#include<iostream>
#include<iomanip>
 
using namespace std;
 
const int N = 3; // размер матрицы 
 
bool IsSymmetric( int z[N][N] )
{
    // ... 
    //return ... ;
}
 
void FindMax( int z[N][N], int & imax, int & jmax )
{
    // ... 
}
 
/* сдвинуть строку, содержащую элемент с максимальным значением, на 1 элемент вправо */
void Shift( int z[N][N] )
{
    // определим максимальный элемент 
    int im, jm;
    FindMax( z, im, jm );
 
    // сдвиг строки - вычислим новую строку 
    int lineNew[N];
    for( int k = 0; k < N; ++k )
    {
        // lineNew[k] = ... 
    }
 
    // запишем вычисленную строку в матрицу 
    for( int k = 0; k < N; ++k )
    {
        // строка матрицы, содержащая максимальный элемент 
        // z[im][k] = ... 
    }
 
}
 
int main()
{
    /* если матрица симметричная (транспонированная матрица равна исходной), 
    сделать ее несимметричной, 
    сдвинув строку, содержащую элемент с максимальным значением, на 1 элемент вправо */
 
    int z[N][N] = { 1, 2, 3, 4 };
 
    if( IsSymmetric( z ) )
    {
        Shift( z );
    }
    
    return 0;
}
0
triish
1 / 1 / 0
Регистрация: 16.01.2014
Сообщений: 44
16.01.2014, 16:56  [ТС] 3
а если сделать не через отдельные функции и потом их просто вызвать в мэйне, а в самом мэйне все это делать?
(требование препода)
0
Alex5
1123 / 784 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
16.01.2014, 22:21 4
triish, если всё делать в main(), то это приведёт к усложнению структуры программы. Будет труднее понять написанный код. И увеличится вероятность возникновения ошибок. Труднее будет найти ошибку.
См.рис - отрывок из книги Макконнелл, Совершенный код.
0
Миниатюры
дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим  
triish
1 / 1 / 0
Регистрация: 16.01.2014
Сообщений: 44
16.01.2014, 23:24  [ТС] 5
я то прекрасно это понимаю.
я так же понимаю, что всю эту программу в два цикла не сделать, как просит препод.

Цитата Сообщение от Alex5 Посмотреть сообщение
triish, если всё делать в main(), то это приведёт к усложнению структуры программы. Будет труднее понять написанный код. И увеличится вероятность возникновения ошибок. Труднее будет найти ошибку.
См.рис - отрывок из книги Макконнелл, Совершенный код.
0
16.01.2014, 23:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 23:24

Дана вещественная матрица А(N.M). Составить программу замены всех отрицательных элементов матрицы на элемент, имеющий максимальное значение.
Дана вещественная матрица А(N.M). Составить программу замены всех отрицательных...

Всю голову сломала этими матрицами! Дана матрица.Написать программу, которая упорядочивает элементы каждой строки этой матрицы по возрастанию
Дана матрица А(nxn). Написать программу, которая упорядочивает элементы каждой...

Симметричная матрица
Заполнить матрицу случайными числами. Отобразить матрицу симметрично...


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

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

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