
С++ Дана матрица размера M × N. Отсортировать матрицу по возрастанию. было 9 8 7 6 5 4 3 2 1
станет 1 2 3 4 5 6 7 8 9

Ответы на вопрос

#include <iostream>
using namespace std;
int main(){
int n, m;
cin >> n >> m;
int a[n][m], res[n*m], cur = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cin >> a[i][j];
res[cur] = a[i][j];
cur++;
}
}
for(int i = 0; i < n*m; i++){
for(int j = i + 1; j < n*m; j++){
if(res[i] > res[j])
swap(res[i],res[j]);
}
}
cur = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << res[cur] << " ";
cur++;
}
cout << "\n";
}
}



Для сортировки матрицы в C++, вы можете воспользоваться функцией std::sort
из библиотеки STL. Однако сначала вам нужно будет преобразовать двумерный массив в одномерный вектор, чтобы упростить сортировку. Вот пример кода, который позволит вам сделать это:
cpp#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int M = 3; // Количество строк
int N = 3; // Количество столбцов
// Исходная матрица
int matrix[M][N] = {
{9, 8, 7},
{6, 5, 4},
{3, 2, 1}
};
// Преобразование матрицы в одномерный вектор
std::vector<int> flattenedMatrix;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
flattenedMatrix.push_back(matrix[i][j]);
}
}
// Сортировка вектора
std::sort(flattenedMatrix.begin(), flattenedMatrix.end());
// Восстановление отсортированной матрицы
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
matrix[i][j] = flattenedMatrix[i * N + j];
}
}
// Вывод отсортированной матрицы
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
Этот код сначала преобразует исходную матрицу в одномерный вектор, затем сортирует этот вектор, а затем восстанавливает отсортированную матрицу и выводит её.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili