Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 9

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

08.01.2014, 16:48. Показов 3168. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Упорядочить элементы главной диагонали квадратичной матрицы(n x n) перестановкой столбцов n=5.
Элементы матрицы случайные действительные числа в диапазоне от -10 до 10
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2014, 16:48
Ответы с готовыми решениями:

Перестановкой столбцов добиться расположения максимальных элементов на главной диагонали
Найти все самые нижние максимальные элементы в столбцах и перестановкой столбцов добиться их расположения на главной диагонали.

Упорядочить элементы на главной диагонали по возрастанию
Дана квадратная матрица целых чисел. Упорядочить элементы на главной диагонали по возрастанию

В прямоугольной целочисленной матрицы упорядочить элементы размещенных на главной диагонали по убыванию
В прямоугольной целочисленной матрицы упорядочить элементы размещенных на главной диагонали по убыванию

10
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
08.01.2014, 18:06
Разве это возможно? Возьмем матрицу
3 4
1 2
перестановкой столбцов вы не сделаете так, чтобы элементы главной диагонали шли по возрастанию.
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 9
08.01.2014, 20:37  [ТС]
Добавлено через 26 минут
Цитата Сообщение от palva Посмотреть сообщение
Разве это возможно? Возьмем матрицу
3 4
1 2
перестановкой столбцов вы не сделаете так, чтобы элементы главной диагонали шли по возрастанию.
Для этого нужно найти максимальный элемент первой строки матрицы столбец в котором он находиться меняем местами с 1 столбцом, потом находим максимальный элемент 2 рядка который больше либо равен элементу с 1 рядка но уже без учета элемента с 1 столбца потом меняем местами 2 столбец со столбцом с максимальным елементом 2 рядка и тд

Неделю колдую над этой программой вечно какие то ошибки!
Если знаешь напиши эту функцию для меня она очень сложна опыта маловато!
0
Заблокирован
08.01.2014, 20:46
Spellsinger, у вас задание не конкретно. Вам привели пример когда непонято что делать дальше с матрицей.
А что должна сделать программа в таком случае:
4 6 7 8 1
9 9 8 9 8
7 7 7 7 4
1 3 4 5 3
6 8 9 7 7
1
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
08.01.2014, 20:46
Я о том и толкую, что это невозможно сделать, разве только если матрица специально подобрана.
Цитата Сообщение от Spellsinger Посмотреть сообщение
потом находим максимальный элемент 2 рядка который больше либо равен элементу с 1 рядка но уже без учета элемента с 1 столбца
Может случиться, что такого элемента мы не найдем. Все элементы 2 рядка будут меньше чем элемент первого рядка. И что тогда должен делать алгоритм? Остановиться и сказать, что задача неразрешима? Но это тоже будет безосновательно.
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 9
08.01.2014, 21:24  [ТС]
Цитата Сообщение от palva Посмотреть сообщение
Я о том и толкую, что это невозможно сделать, разве только если матрица специально подобрана.
Может случиться, что такого элемента мы не найдем. Все элементы 2 рядка будут меньше чем элемент первого рядка. И что тогда должен делать алгоритм? Остановиться и сказать, что задача неразрешима? Но это тоже будет безосновательно.
Там ошибочка меньше либо равно.
А задание с методички и дословно оно выглядит так:"Заданная действи́тельная квадратная матрица размерности n х n. Переставить ее столбцы таким образом, чтобы упорядочить значения элементов главной диагонали. "

Добавлено через 2 минуты
Цитата Сообщение от palva Посмотреть сообщение
Я о том и толкую, что это невозможно сделать, разве только если матрица специально подобрана.
Может случиться, что такого элемента мы не найдем. Все элементы 2 рядка будут меньше чем элемент первого рядка. И что тогда должен делать алгоритм? Остановиться и сказать, что задача неразрешима? Но это тоже будет безосновательно.
Реально может там опечатка ну тогда что примерно там требовалось?
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
08.01.2014, 21:30
Цитата Сообщение от Spellsinger Посмотреть сообщение
ну тогда что примерно там требовалось?
Цитата Сообщение от Spellsinger Посмотреть сообщение
Переставить ее столбцы таким образом
Моя версия: Переставить ее столбцы и строки таким образом...
Если переcтавить i-й и k-й столбец, а затем i-ю и k-ю строку, то это будет означать перестановку элементов главной диагонали. Всякие другие перестановки будут приводить к тому, что некоторые элементы уйдут с главной диагонали, а некоторые появятся. То есть формально это не будет "упорядочением значения элементов главной диагонали".
1
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 9
08.01.2014, 21:38  [ТС]
Цитата Сообщение от palva Посмотреть сообщение
Моя версия: Переставить ее столбцы и строки таким образом...
Если переcтавить i-й и k-й столбец, а затем i-ю и k-ю строку, то это будет означать перестановку элементов главной диагонали. Всякие другие перестановки будут приводить к тому, что некоторые элементы уйдут с главной диагонали, а некоторые появятся. То есть формально это не будет "упорядочением значения элементов главной диагонали".
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <ctime>
 
const int N=5;
 
void swap(int& n1, int& n2);
 
int main()
{
    int** X = new int*[N];
    for (int i = 0; i < N; i++)
    {
        X[i] = new int[N];
        for (int j = 0; j < N; j++)
        {
            X[i][j] = rand() % 10;
            printf("%d ",X[i][j]);
        }
    
        printf("\n");
    }
 
    printf("\n");
 
    for (int i = 0; i < N; i++)
    {
        for (int k = i+1; k < N; k++)
            if (X[k][k] < X[i][i])
            {
                swap(X[i][k],X[k][k]);
                swap(X[k][i],X[i][i]);
                for (int m = 0; m < N; m++)
                    swap(X[m][i],X[m][k]);
            }
    }
 
    for (int z1 = 0; z1 < N; z1++)
    {
        for (int z2 = 0; z2 < N; z2++)
            printf("%d ",X[z1][z2]);
        printf("\n");
    }
 
  
 system("pause");
    return 0;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
Типа такая программа?
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
08.01.2014, 21:40
Spellsinger, Только переставляются не отдельные элементы а полностью столбцы или строки.
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 9
08.01.2014, 21:51  [ТС]
Цитата Сообщение от palva Посмотреть сообщение
Spellsinger, Только переставляются не отдельные элементы а полностью столбцы или строки.
Да но если переставляются столбцы и строки тогда можно подобрать практически любую последовательность элементов!
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
08.01.2014, 22:16
Требуется, чтобы на диагонали были одни и те же элементы.

Добавлено через 15 минут
Цитата Сообщение от palva Посмотреть сообщение
Требуется, чтобы на диагонали были одни и те же элементы.
Это я к тому, что задача, как я понял слово упорядочить, этого требует. Один из способов это обеспечить -- это синхронно переставлять строки и столбцы с номерами i и k.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2014, 22:16
Помогаю со студенческими работами здесь

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

Заменить элементы главной диагонали матрицы суммами элементов столбцов
Помогите пожалуйста. Заменить элементы главной диагонали матрицы целых чисел размерностью 5х5 суммами элементов столбцов. Я сделал вот...

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

Дан целочисленный массив a(n,m). Упорядочить по неубыванию элементы на главной диагонали и диагоналях, параллельных ей. Перестановка элементов допуска
Дан целочисленный массив a(n,m). Упорядочить по неубыванию элементы на главной диагонали и диагоналях, параллельных ей. Перестановка...

все нулевые элементы размещены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных
все нулевые элементы размещены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru