Advertisement
Guest User

Untitled

a guest
May 20th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. /*Диагонали, параллельные побочной по возрастанию с помощью сортировки вставками.*/
  2. #include <fstream>
  3. #include <iomanip>
  4. #include <iostream>
  5. #include<vector>
  6.  
  7. using namespace std;
  8. ifstream in("2in.txt");
  9. ofstream out("2out.txt");
  10.  
  11. void Sort(vector<int> &v1) {
  12.     for (int i = 1; i < v1.size(); i++)
  13.         for (int j = i; j > 0 && v1[j - 1] > v1[j]; j--) // пока j>0 и элемент j-1 > j, x-массив int
  14.             swap(v1[j - 1], v1[j]);
  15. }
  16.  
  17. int main()
  18. {
  19.     int n;
  20.     in >> n;
  21.     int** a = new int*[n];
  22.     for (int i = 0; i < n; i++)
  23.     {
  24.         a[i] = new int[n];
  25.         for (int j = 0; j < n; j++)
  26.             in >> a[i][j];
  27.     }
  28.  
  29.     for (int k = 1; k <= 2 * n - 2; k++) {
  30.         vector<int> v1;
  31.         for (int i = 0; i < n; i++) {
  32.             if ((k - i < n) && (k - i >= 0))
  33.                 v1.push_back(a[i][k - i]);
  34.         }
  35.        
  36.         Sort(v1);
  37.         int L = 0;
  38.  
  39.         for (int i = 0; i < n; i++)
  40.         {
  41.             if ((k - i < n) && (k - i >= 0))
  42.             {
  43.                 a[i][k - i] = v1[L];
  44.                 L++;
  45.             }
  46.         }
  47.         v1.clear();
  48.     }
  49.  
  50.     for (int i = 0; i < n; i++)
  51.     {
  52.         for (int j = 0; j < n; j++)
  53.             out << setw(5) << a[i][j];
  54.         out << '\n';
  55.     }
  56.  
  57.     in.close();
  58.     out.close();
  59.  
  60.     system("pause");
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement