Тема: Проблема з виводом масива за допомогою функції!
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
bool N_goodDisposition(int x1, int x2)
{
    if(x1 % 2 != x2 % 2) //Якщо одне число парне а друге непарне, то меншим буде парне
        return x1 % 2 < x2 % 2;
    else if(x1 % 2 == 1) // Числа непарні, має бути спаданні
        return x1 < x2;
}
bool P_goodDisposition(int x1, int x2)
{
    if(x1 % 2 != x2 % 2) //Якщо одне число парне а друге непарне, то меншим буде парне
        return x1 % 2 < x2 % 2;
    else if(x1 % 2 == 0)  // Числа парні, має бути спадання
        return x1 < x2;
}
void Sort_p(int* arr, int size)
{
    for(int i = 0; i < size - 1; i++)
    {
        if(arr[i] % 2 == 0)
            for(int j = i + 1; j < size; j++)
            {
                if(!P_goodDisposition(arr[i], arr[j]))
                {
                    int x = arr[i];
                    arr[i] = arr[j];
                    arr[j] = x;
                }
            }
    }
}
void Sort_np(int* arr, int size)
{
    for(int i = 0; i < size - 1; i++)
    {
        if(arr[i] % 2 == 1)
            for(int j = i + 1; j < size; j++)
            {
                if(N_goodDisposition(arr[i], arr[j]))
                {
                    int x = arr[i];
                    arr[i] = arr[j];
                    arr[j] = x;
                }
            }
    }
}
int show(int** arr, int rows, int columns)
{
    cout << "Matrix:" << endl;
    for(size_t i = 0; i < rows; i++)
    {
        for(size_t j = 0; j < columns; j++)
        {
            cout << setw(3) << arr[i][j] << ' ';
        }
        cout << endl;
    }
}
int main() {
    setlocale(0, "");
    ofstream fin("text.txt");
    if(!fin.is_open())
        cout << "not file\n";
    size_t N, M;
    int V, B, d = 0;
    cout << setw(4) << "write N:" << " ";
    cin >> N;
    cout << setw(4) << "write M:" << " ";
    cin >> M;
    cout << setw(4) << "write V:" << " ";
    cin >> V;
    cout << setw(4) << "write B:" << " ";
    cin >> B;
    cout << "\n";
    int i, j;
    int arr[N][M];
    int *temp = new int[N * M];
    size_t k = 0;
    srand(time(NULL));
    for(i = 0; i < N; i++)
    {
        for(j = 0; j < M; j++)
        {
            arr[i][j] = V + rand() % (B - V + 1);
            cout << setw(6) << arr[i][j];
            fin << setw(6) << arr[i][j];
        }
        fin << endl;
        cout << endl;
    }
    // show((inarr, N, M);
    cout << endl;
    for(size_t i = 0; i < N; i++)
    {
        for(size_t j = 0; j < M; j++)
        {
            if(arr[i][j] % 2 == 0)
            {
                d = d + 1;
            }
            temp[k] = arr[i][j];
            k++;
        }
    }
    fin << "d=" << d;
    Sort_p(temp, N * M);
    Sort_np(temp, N * M);
    k = 0;
    for(size_t i = 0; i < N; i++)
    {
        for(size_t j = 0; j < M; j++)
        {
            arr[i][j] = temp[k];
            k++;
        }
    }
    delete[]temp;
    // show(arr, N, M);
    cout << "Matrix:" << endl;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
            cout << setw(6) << arr[i][j];
        }
        cout << endl;
    }
    system("pause");
    return 0;
}