Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Диагонали, параллельные побочной по возрастанию с помощью сортировки вставками.*/
- #include <fstream>
- #include <iomanip>
- #include <iostream>
- #include<vector>
- using namespace std;
- ifstream in("2in.txt");
- ofstream out("2out.txt");
- void Sort(vector<int> &v1) {
- for (int i = 1; i < v1.size(); i++)
- for (int j = i; j > 0 && v1[j - 1] > v1[j]; j--) // пока j>0 и элемент j-1 > j, x-массив int
- swap(v1[j - 1], v1[j]);
- }
- int main()
- {
- int n;
- in >> n;
- int** a = new int*[n];
- for (int i = 0; i < n; i++)
- {
- a[i] = new int[n];
- for (int j = 0; j < n; j++)
- in >> a[i][j];
- }
- for (int k = 1; k <= 2 * n - 2; k++) {
- vector<int> v1;
- for (int i = 0; i < n; i++) {
- if ((k - i < n) && (k - i >= 0))
- v1.push_back(a[i][k - i]);
- }
- Sort(v1);
- int L = 0;
- for (int i = 0; i < n; i++)
- {
- if ((k - i < n) && (k - i >= 0))
- {
- a[i][k - i] = v1[L];
- L++;
- }
- }
- v1.clear();
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- out << setw(5) << a[i][j];
- out << '\n';
- }
- in.close();
- out.close();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement