Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 16.01.2014
Сообщений: 44
1

Симметричную матрицу сделать несимметричной

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

Author24 — интернет-сервис помощи студентам
помогите пожалуйста.

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


сижу уже который день.
то условие проверки не работает, то еще что-то.
совсем не получается.
помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.01.2014, 13:27
Ответы с готовыми решениями:

Сделать симметричную матрицу несимметричной. Где ошибка?
условие: условие: дана квадратичная матрица z. составить программу, которая если матрица...

Построить симметричную матрицу и упорядочить ее по возрастанию
заданы два целых массивы чисел A(n), n<=300 B(m), m<=300. Разработать программу, которая строит...

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

Составить матрицу, симметричную данной относительно побочной диагонали
Дана квадратная матрица А. Как составить матрицу, симметричную данной относительно побочной...

4
1130 / 789 / 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
1 / 1 / 0
Регистрация: 16.01.2014
Сообщений: 44
16.01.2014, 16:56  [ТС] 3
а если сделать не через отдельные функции и потом их просто вызвать в мэйне, а в самом мэйне все это делать?
(требование препода)
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
16.01.2014, 22:21 4
triish, если всё делать в main(), то это приведёт к усложнению структуры программы. Будет труднее понять написанный код. И увеличится вероятность возникновения ошибок. Труднее будет найти ошибку.
См.рис - отрывок из книги Макконнелл, Совершенный код.
Миниатюры
Симметричную матрицу сделать несимметричной  
0
1 / 1 / 0
Регистрация: 16.01.2014
Сообщений: 44
16.01.2014, 23:24  [ТС] 5
я то прекрасно это понимаю.
я так же понимаю, что всю эту программу в два цикла не сделать, как просит препод.

Цитата Сообщение от Alex5 Посмотреть сообщение
triish, если всё делать в main(), то это приведёт к усложнению структуры программы. Будет труднее понять написанный код. И увеличится вероятность возникновения ошибок. Труднее будет найти ошибку.
См.рис - отрывок из книги Макконнелл, Совершенный код.
0
16.01.2014, 23:24
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2014, 23:24
Помогаю со студенческими работами здесь

Сформировать симметричную матрицу из элементов, лежащих выше главной диагонали исходной
Сформировать из элементов А, лежащих на главной диагонали и над ней, симметричную матрицу С...

Как сделать подобную симметричную матрицу?
Добрый вечер. Забыл как делаются такие матрицы и гугл мне не помог. Вернее, симметричную я вроде...

Как создать симметричную матрицу
Как создать симметричную матрицу.

Преобразовать матрицу в ее симметричную по строке M/2
Взять матрицу M x N, Преобразовать ее в симметричную по строке M/2. Вывести результат рядом с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru