Вопрос задан 23.09.2023 в 23:13. Предмет Информатика. Спрашивает Суханов Никита.

Помогите, пожалуйста. Нужно написать программу в С++ Оголосіть двовимірний динамічний масив, у

якому n x m елементів. Заповніть його довільними числами. - Відсортуйте кожний рядок вихідного масиву за спаданням. - Відсортуйте кожен стовпець вихідного масиву за зростанням. Роздрукуйте його у вигляді таблиці двічі – до та після сортування. Оформіть генерацію, виведення масиву та сортування за допомогою функцій користувача.​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Фёдоров Фёдор.

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <algorithm>

void printArray(int** arr, int n, int m) {

   for (int i = 0; i < n; i++) {

       for (int j = 0; j < m; j++) {

           std::cout << arr[i][j] << "\t";

       }

       std::cout << std::endl;

   }

}

void sortRowsDescending(int** arr, int n, int m) {

   for (int i = 0; i < n; i++) {

       std::sort(arr[i], arr[i] + m, std::greater<int>());

   }

}

void sortColumnsAscending(int** arr, int n, int m) {

   for (int j = 0; j < m; j++) {

       int* column = new int[n];

       for (int i = 0; i < n; i++) {

           column[i] = arr[i][j];

       }

       std::sort(column, column + n);

       for (int i = 0; i < n; i++) {

           arr[i][j] = column[i];

       }

       delete[] column;

   }

}

int main() {

   int n = 4;

   int m = 5;

   int** arr = new int*[n];

   for (int i = 0; i < n; i++) {

       arr[i] = new int[m];

   }

   srand(static_cast<unsigned int>(time(nullptr)));

   for (int i = 0; i < n; i++) {

       for (int j = 0; j < m; j++) {

           arr[i][j] = rand() % 100;  

       }

   }

   std::cout << "Масив до сортування:" << std::endl;

   printArray(arr, n, m);

   sortRowsDescending(arr, n, m);

   sortColumnsAscending(arr, n, m);

   std::cout << std::endl << "Масив після сортування:" << std::endl;

   printArray(arr, n, m);

   for (int i = 0; i < n; i++) {

       delete[] arr[i];

   }

   delete[] arr;

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Звучити як цікава задача! Ось приклад програми на C++, яка розв'язує вашу задачу за допомогою функцій користувача:

cpp
#include <iostream> #include <vector> #include <algorithm> // Функція для генерації випадкових чисел у межах вказаного діапазону int getRandomNumber(int min, int max) { return min + rand() % (max - min + 1); } // Функція для виведення двовимірного масиву void printMatrix(const std::vector<std::vector<int>>& matrix) { for (const std::vector<int>& row : matrix) { for (int num : row) { std::cout << num << "\t"; } std::cout << std::endl; } } // Функція для сортування кожного рядка за спаданням void sortRowsDescending(std::vector<std::vector<int>>& matrix) { for (std::vector<int>& row : matrix) { std::sort(row.rbegin(), row.rend()); } } // Функція для сортування кожного стовпця за зростанням void sortColumnsAscending(std::vector<std::vector<int>>& matrix) { int numRows = matrix.size(); int numCols = matrix[0].size(); for (int col = 0; col < numCols; col++) { std::vector<int> column; for (int row = 0; row < numRows; row++) { column.push_back(matrix[row][col]); } std::sort(column.begin(), column.end()); for (int row = 0; row < numRows; row++) { matrix[row][col] = column[row]; } } } int main() { int n, m; std::cout << "Введіть кількість рядків: "; std::cin >> n; std::cout << "Введіть кількість стовпців: "; std::cin >> m; // Створення двовимірного динамічного масиву та заповнення випадковими числами std::vector<std::vector<int>> matrix(n, std::vector<int>(m)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { matrix[i][j] = getRandomNumber(1, 100); } } std::cout << "Вихідний масив:" << std::endl; printMatrix(matrix); sortRowsDescending(matrix); std::cout << "Масив після сортування кожного рядка за спаданням:" << std::endl; printMatrix(matrix); sortColumnsAscending(matrix); std::cout << "Масив після сортування кожного стовпця за зростанням:" << std::endl; printMatrix(matrix); return 0; }

У цій програмі ми спершу створюємо двовимірний динамічний масив розміром n x m і заповнюємо його випадковими числами. Потім ми викликаємо функції sortRowsDescending та sortColumnsAscending, щоб відсортувати рядки за спаданням та стовпці за зростанням відповідно. Нарешті, ми виводимо вихідний масив та масив після сортування.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос