Упорядочить все случайные элементы массива принадлежащие заштрихованной области
#include <iostream>
#include <cmath>
#include <windows.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int **CreateMatrix (int rows, int cols);
void FillMatrix (int **matrix, int rows, int cols);
void OutputMatrix (int **matrix, int rows, int cols);
void SortMatrix (int **matrix, int rows, int cols);
int main(){
srand(time(NULL));
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
int rows = 9, cols = 12;
int **matrix = CreateMatrix(rows, cols);
FillMatrix(matrix, rows, cols);
cout << "Цикл до модифікації: " << endl;
OutputMatrix(matrix, rows, cols);
cout << endl;
SortMatrix(matrix, rows, cols);
cout << "Цикл після модифікації: " << endl;
OutputMatrix(matrix, rows, cols);
system("pause");
return 0;
}
int **CreateMatrix(int rows, int cols){
int **matrix = new int *[rows];
for (int i = 0; i < rows; i++)
{
matrix[i] = new int [cols];
}
return matrix;
}
void FillMatrix(int **matrix, int rows, int cols){
int N = 19;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if(j <= i){
matrix[i][j] = rand() % 100;
}
else
{
matrix[i][j] = N;
}
}
}
}
void OutputMatrix(int **matrix, int rows, int cols){
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if(j <= i){
cout << setw(5) << matrix[i][j];
}
else{
cout << setw(5) << matrix[i][j];
}
}
cout << endl;
}
}
void SortMatrix (int **matrix, int rows, int cols){
int tmp;
for (int i = 0; i < rows - 1; i++)
{
for (int j = 0; j < cols - 1; j++)
{
if (matrix[i][j] % 2 == 0 && matrix[i][j + 1] > matrix[i][j] && j <= i)
{
tmp = matrix[i][j + 1];
matrix[i][j + 1] = matrix[i][j];
matrix[i][j] = tmp;
}
else if (matrix[i][j] % 2 != 0 && matrix[i][j + 1] < matrix[i][j] && j <= i){
tmp = matrix[i][j + 1];
matrix[i][j + 1] = matrix[i][j];
matrix[i][j] = tmp;
}
}
}
}
Всем привет! Задача: Разработать программу, которая заполняет двумерный массив следующим образом: элементы, принадлежащие заштрихованной области, генерируются случайным образом; все остальные равны N, где N – 19. Упорядочить все принадлежащие случайные элементы массива заштрихованной области. Парные варианты упорядочиваются по возрастанию, нечетные – по убыванию.
Вот мой вариант, но не могу понять работает ли он правильно, посмотрите пожалуйста.
Вывод:
Цикл до модифікації:
15 19 19 19 19 19 19 19 19 19 19 19
38 96 19 19 19 19 19 19 19 19 19 19
56 94 32 19 19 19 19 19 19 19 19 19
11 1 83 28 19 19 19 19 19 19 19 19
12 13 79 72 44 19 19 19 19 19 19 19
8 43 70 75 37 10 19 19 19 19 19 19
83 3 49 46 12 31 75 19 19 19 19 19
48 25 94 20 70 32 85 93 19 19 19 19
54 70 48 10 64 64 32 46 55 19 19 19
Цикл після модифікації:
15 19 19 19 19 19 19 19 19 19 19 19
96 38 19 19 19 19 19 19 19 19 19 19
94 56 32 19 19 19 19 19 19 19 19 19
1 11 28 19 83 19 19 19 19 19 19 19
13 79 72 44 19 12 19 19 19 19 19 19
43 70 75 37 10 19 8 19 19 19 19 19
3 49 46 12 31 75 19 83 19 19 19 19
48 25 94 70 32 85 93 20 19 19 19 19
54 70 48 10 64 64 32 46 55 19 19 19
