http://spaces.ru/forums/?r=16941615&from=journal&jsort=0&link_id=1256153&p=1&scp=236098348#page-up

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
class matrix{
private: int **a, n, m;
void set_mem(){
a = new int*[n];
for (int i = 0; i < n; i++) a[i] = new int[m];
}
void set_value(){
srand(time(0));
for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) a[i][j] = rand() % 20 - 10;
}
void set_n_and_m(int p1, int p2){
n = p1, m = p2;
}
public:
void show(char*s){
cout << endl << s << endl;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++) {
cout.width(4);
cout << a[i][j] << " ";
}
cout << endl;
}
}
void spec_sort(){
for (int t = 0; t < n; t++){
for (int j = 0; j < m; j++){
for (int i = 0; i <n - 1; i++){
if (a[n - (n - i - 1)][j]>a[n - (n - i)][j]){
swap(a[n - (n - i - 1)][j], a[n - (n - i)][j]);
}
}
}
}
}
matrix(int p1, int p2){
set_n_and_m(p1, p2);
set_mem();
set_value();
}
~matrix(){
for (int i = 0; i < n; i++) delete[] a[i];
delete[] a;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0, "");
cout << endl << "Задача написана на заказ для пользователя NOKIARULIT.spaces.ru" << endl << "Автор: sasa961.spaces.ru ; vk.com/sasa961" << endl << endl;
int n, m;
cout << "Введите количество строк: "; cin >> n;
cout << "Введите количество столбцов: "; cin >> m;
matrix*a = new matrix(n, m);
a->show("Исходная матрица: ");
a->spec_sort();
a->show("Отсортированная по заданию: ");
delete a;
cin.clear();
cin.sync();
cin.get();
return 0;
}