Advertisement
Balda

Двумерные массивы

Jan 9th, 2014
93
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. #include <time.h>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. int** CreateArray(int n, int m)
  8. {
  9.     int** arr = new int*[n];
  10.     for (int i = 0; i<n; i++)
  11.         arr[i] = new int[m];
  12.     return arr;
  13. }
  14.  
  15. void DeleteArray(int** array, int n)
  16. {
  17.     for (int i = 0; i < n; i++)
  18.         delete[] array[i];
  19.     delete[] array;
  20. }
  21.  
  22. int RandomArray(int **array, int n, int m, int rand_min, int rand_max)
  23. {
  24.     for (int i = 0; i<n; i++)
  25.     for (int j = 0; j < m; j++)
  26.         array[i][j] = rand_min + rand() % (rand_max - rand_min + 1);
  27.     return **array;
  28. }
  29.  
  30. void PrintArray(int **array, int n, int m)
  31. {
  32.     for (int i = 0; i < n; i++)
  33.     {
  34.         for (int j = 0; j < m; j++)
  35.             std::cout << array[i][j] << '\t';
  36.         cout << endl;
  37.     }
  38. }
  39.  
  40. int** TranspArray(int **Array, int &n, int &m)
  41. {
  42.     int **tArray = CreateArray(m, n);
  43.  
  44.     for (int i = 0; i<m; i++)
  45.         for (int j = 0; j<n; j++)
  46.             tArray[i][j] = Array[j][i];
  47.     int temp = n;
  48.     n = m;
  49.     m = temp;
  50.     return tArray;
  51. }
  52.  
  53. int main()
  54. {
  55.     setlocale(LC_ALL, "Russian");
  56.     srand((unsigned)time(NULL));
  57.     int n, m;
  58.     int **Array;
  59.     cout << "n = ";
  60.     cin >> n;
  61.     cout << "m = ";
  62.     cin >> m;
  63.     Array = CreateArray(n, m);
  64.     RandomArray(Array, n, m, -100, 100);
  65.     PrintArray(Array, n, m);
  66.     Array = TranspArray(Array, n, m);
  67.     cout << endl;
  68.     PrintArray(Array, n, m);
  69.     DeleteArray(array, n);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement