Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int a[100][100], n;
- void ReadArray();
- void Merge(int st, int dr, int sir[]);
- void Interclass(int st, int m, int dr, int sir[]);
- void WriteArray();
- int main()
- {
- ReadArray();
- for (int i = 0; i < n; ++i)
- {
- Merge(0, n - 1, a[i]);
- }
- WriteArray();
- }
- void Merge(int st, int dr, int sir[])
- {
- if (st == dr) return;
- int m = (st + dr) / 2;
- Merge(st, m, sir);
- Merge(m + 1, dr, sir);
- Interclass(st, m, dr, sir);
- }
- void Interclass(int st, int m, int dr, int sir[])
- {
- int tmp[100];
- int i = st, j = m + 1, k = 0;
- while (i <= m && j <= dr)
- if (sir[i] < sir[j])
- tmp[k++] = sir[i++];
- else
- tmp[k++] = sir[j++];
- while (i <= m)
- tmp[k++] = sir[i++];
- while (j <= dr)
- tmp[k++] = sir[j++];
- for (int i = st; i <= dr; ++i)
- sir[i] = tmp[i - st];
- }
- void ReadArray()
- {
- cin >> n;
- for (int i = 0; i < n; ++i)
- for (int j = 0; j < n; ++j)
- cin >> a[j][i];
- }
- void WriteArray()
- {
- for (int i = 0; i < n; ++i, cout << '\n')
- for (int j = 0; j < n; ++j)
- cout << a[j][i] << ' ';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement