Упорядочить все случайные элементы массива принадлежащие заштрихованной области

#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

Ответы (0 шт):