#include <iostream>
#include <iomanip>
using namespace std;
template <typename T, size_t N, size_t M>
void Sort(T (*mas)[N][M])
{
int k = 0;
do {
for (int i = 0; i < M; i++)
{
for (int j = M-1; j > i; j--)
{
if ((*mas)[k][j] < (*mas)[k][j - 1])
{
T tmp = (*mas)[k][j];
(*mas)[k][j] = (*mas)[k][j - 1];
(*mas)[k][j - 1] = tmp;
}
}
}
k++;
} while (k < N);
}
int main(int argc, char * argv[])
{
int a[5][7];
for (int i = 0; i < 5; i++)
for (int j = 0; j < 7; j++)
a[i][j] = rand()%20;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 7; j++)
cout << a[i][j] << "\t";
cout << "\n";
}
cout << "\n";
cout << "\n";
Sort(&a);
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 7; j++)
cout << a[i][j] << "\t";
cout << "\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IE4sIHNpemVfdCBNPgp2b2lkIFNvcnQoVCAoKm1hcylbTl1bTV0pCnsKICAgIGludCBrID0gMDsKICAgIGRvIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE07IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBNLTE7IGogPiBpOyBqLS0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgoKm1hcylba11bal0gPCAoKm1hcylba11baiAtIDFdKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFQgdG1wID0gKCptYXMpW2tdW2pdOwogICAgICAgICAgICAgICAgICAgICgqbWFzKVtrXVtqXSA9ICgqbWFzKVtrXVtqIC0gMV07CiAgICAgICAgICAgICAgICAgICAgKCptYXMpW2tdW2ogLSAxXSA9IHRtcDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBrKys7CiAgICB9IHdoaWxlIChrIDwgTik7Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyICogYXJndltdKQp7CiAgICBpbnQgYVs1XVs3XTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTsgaSsrKQogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgNzsgaisrKQogICAgICAgICAgICBhW2ldW2pdID0gcmFuZCgpJTIwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgNzsgaisrKQogICAgICAgICAgICBjb3V0IDw8IGFbaV1bal0gPDwgIlx0IjsKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICB9CiAgICBjb3V0IDw8ICJcbiI7CiAgICBjb3V0IDw8ICJcbiI7CgogICAgU29ydCgmYSk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1OyBpKyspCiAgICB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCA3OyBqKyspCiAgICAgICAgICAgIGNvdXQgPDwgYVtpXVtqXSA8PCAiXHQiOwogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgIH0KfQo=