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

Упорядочить строки матрицы по убыванию наибольших элементов

13.01.2022, 22:38. Показов 1133. Ответов 3

Студворк — интернет-сервис помощи студентам
Дана вещественная матрица X размера m n. Упорядочить ее строки по убыванию их наибольших элементов. Использовать подпрограммы.
Пожалуйста, именно с подпрограммами. Метод пузырька не прокатил уже)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2022, 22:38
Ответы с готовыми решениями:

Упорядочить строки матрицы по не убыванию наибольших элементов
Дана вещественная матрица размером 3 x 4. Упорядочить ее строки по не убыванию наибольших элементов в строках матрицы. в С. Завта лабу...

Упорядочить строки матрицы по убыванию их наибольших элементов
В общем задача такая, матрицы. Дана вещественная матрица X размера m n. Упорядочить ее строки по убыванию их наибольших элементов....

Упорядочить строки матрицы по убыванию её наибольших элементов
Дана вещественная матрица размером m на n. Необходимо упорядочить её строки по убыванию её наибольших элементов с использованием...

3
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 3
13.01.2022, 22:42  [ТС]
Надо именно с подпрограммами. Метод пузырька не прокатил уже)
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 3
13.01.2022, 23:24  [ТС]
Дана вещественная матрица X размера m n. Упорядочить ее строки по убыванию их наибольших элементов. Использовать подпрограммы. Какую подпрограмму использовать я так и не понял( Метод пузырька не прокатил, типо без подпрограммы

а то не допустят к экзамену, пожалуйста
 Комментарий модератора 
П.5.4. Правил
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.


П.5.5. Правил
Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
14.01.2022, 02:20
Лучший ответ Сообщение было отмечено Arthur1737 как решение

Решение

Цитата Сообщение от Arthur1737 Посмотреть сообщение
Использовать подпрограммы. Какую подпрограмму использовать я так и не понял(
Конечно, надо уточнить у преподавателя, но мне сдается, что вы писали весь код в столбик в функции main, тогда как преподаватель, на мой взгляд, требует декомпозиции программы на под-программы, то бишь функции.

Цитата Сообщение от Arthur1737 Посмотреть сообщение
Метод пузырька не прокатил, типо без подпрограммы
А с подпрограммой метод пузырька прокатит?

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <random>
#include <iomanip>
 
void printMatrix(double **matrix, std::size_t height, std::size_t width) {
    for (std::size_t i = 0; i < height; ++i) {
        for (std::size_t j = 0; j < width; ++j) {
            std::cout << std::fixed << std::setprecision(2) << std::setw(6) << matrix[i][j];
        }
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
template<typename Generator>
void fillMatrix(double **matrix, std::size_t height, std::size_t width, Generator generator) {
    for (std::size_t i = 0; i < height; ++i) {
        for (std::size_t j = 0; j < width; ++j) {
            matrix[i][j] = generator();
        }
    }
}
 
double max(double *begin, double *end) {
    double result = *begin++;
    for (; begin != end; ++begin) {
        if (*begin > result) {
            result = *begin;
        }
    }
    return result;
}
 
template<typename T>
void swap(T &a, T &b) {
    T temp = a;
    a = b;
    b = temp;
}
 
void trickySort(double **matrix, std::size_t height, std::size_t width) {
    double *maxes = new double[height];
    for (std::size_t i = 0; i < height; ++i) {
        maxes[i] = max(matrix[i], matrix[i] + width);
    }
    for (std::size_t i = 0; i < height - 1; ++i) {
        for (std::size_t j = i + 1; j < height; ++j) {
            if (maxes[i] < maxes[j]) {
                swap(matrix[i], matrix[j]);
                swap(maxes[i], maxes[j]);
            }
        }
    }
    delete[] maxes;
}
 
double **newMatrix(std::size_t height, std::size_t width) {
    double **matrix = new double *[height];
    for (std::size_t i = 0; i < height; ++i) {
        matrix[i] = new double[width];
    }
    return matrix;
}
 
void deleteMatrix(double **matrix, std::size_t height) {
    for (std::size_t i = 0; i < height; ++i) {
        delete[] matrix[i];
    }
    delete[] matrix;
}
 
int main() {
    std::random_device randomDevice;
    std::mt19937 randomGenerator(randomDevice());
    std::uniform_int_distribution<unsigned int> matrixSizeDistribution(3, 5);
    std::uniform_real_distribution<double> matrixElementsDistribution(-3, 3);
 
    std::size_t height = matrixSizeDistribution(randomGenerator);
    std::size_t width = matrixSizeDistribution(randomGenerator);
 
    double **matrix = newMatrix(height, width);
 
    fillMatrix(matrix, height, width, [&]() { return matrixElementsDistribution(randomGenerator); });
    printMatrix(matrix, height, width);
 
    trickySort(matrix, height, width);
    printMatrix(matrix, height, width);
 
    deleteMatrix(matrix, height);
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2022, 02:20
Помогаю со студенческими работами здесь

Упорядочить столбцы матрицы по убыванию значений наибольших элементов столбцов
Дана действ. матрица размера m*n, упорядочить столбцы матрицы по убыванию значений наибольших элементов столбцов

Упорядочить строки матрицы по возрастанию их наибольших элементов
как я понял нужно чтоб к примеру из матрицы 2 8 4 7 3 1 9 4 1 стало 7 3 1 2 8 4

Упорядочить строки матрицы по возрастанию значений их наибольших элементов
Задание такое: Дана матрица целых чисел. Упорядочить ее строки по возрастанию значений их наибольших элементов. Никак не придумаю метод...

Упорядочить строки матрицы по неубыванию их наибольших элементов (Delphi->C++)
Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов. program N60094766; {$APPTYPE CONSOLE} ...

Упорядочить строки матрицы по возрастанию значений их наибольших элементов
Задание: Дана матрица целых чисел. Упорядочить ее строки по возрастанию значений их наибольших элементов. Я всё реализовал, кроме...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru