Advertisement
DasShelmer

8.5.19

Mar 28th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. template <typename N>
  6. N** readArray2D(int rows, int collums) {
  7.     N** arr = new N * [rows];
  8.  
  9.     for (int i = 0, j; i < rows; i++) {
  10.         arr[i] = new N[collums];
  11.  
  12.         for (j = 0; j < collums; j++) {
  13.             cin >> arr[i][j];
  14.         }
  15.     }
  16.     return arr;
  17. }
  18.  
  19. template <typename N>
  20. void printArray2D(N** arr, int rows, int collums) {
  21.     for (int i = 0, j; i < rows; i++) {
  22.         for (j = 0; j < collums; j++)
  23.             cout << arr[i][j] << " ";
  24.         cout << endl;
  25.     }
  26. }
  27.  
  28. template <typename N>
  29. void customPrintArray2D(N** arr, int rows, int collums) {
  30.     bool reverse = false;
  31.     for (int i = 0, j; i < rows; i++) {
  32.         if (reverse)
  33.             for (j = collums - 1; j >= 0; j--)
  34.                 cout << arr[i][j] << " ";
  35.         else
  36.             for (j = 0; j < collums; j++)
  37.                 cout << arr[i][j] << " ";
  38.         cout << endl;
  39.         reverse = !reverse;
  40.     }
  41. }
  42.  
  43. int main() {
  44.     cout << "Enter Row and Collum count: ";
  45.     int r = 0, c = 0;
  46.     while (r < 1)
  47.         cin >> r;
  48.     while (c < 1)
  49.         cin >> c;
  50.  
  51.     // Заменить double на любой другой тип
  52.     auto** a = readArray2D<double>(r, c);
  53.  
  54.     cout << "Result: \n";
  55.     customPrintArray2D(a, r, c);
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement