Balda

Untitled

Jan 16th, 2014
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. #include <cstdlib>
  4. using namespace std;
  5.  
  6. int** CreateArray(int n, int m);
  7. void DeleteArray(int** array, int n);
  8. int fRandomizeArray(int **array, int n, int m, int rand_min, int rand_max);
  9. void fPrintArray(int **array, int n, int m);
  10. void SumArray(int** array1, int **array2, int **array3, int n, int m);
  11. void DifArray(int** array1, int **array2, int **array3, int n, int m);
  12. int** Calculator(int** array1, int **array2, int **array3, int n, int m, char sign);
  13.  
  14. int main(){
  15.     setlocale(LC_ALL, "Russian");
  16.     srand((unsigned)time(NULL));
  17.     int n, m;
  18.     char sign;
  19.     cout << "Количество строк: ";
  20.     cin >> n;
  21.     cout << "Количество столбцов: ";
  22.     cin >> m;
  23.     cout << "Действие (+/-): ";
  24.     cin >> sign;
  25.     cout << endl;
  26.     int **array1 = CreateArray(n, m),
  27.         **array2 = CreateArray(n, m),
  28.         **array3 = CreateArray(n, m);  
  29.     fRandomizeArray(array1, n, m, -100, 100);
  30.     fRandomizeArray(array2, n, m, -100, 100);
  31.     fPrintArray(array1, n, m);
  32.     fPrintArray(array2, n, m);
  33.     Calculator(array1, array2, array3, n, m, sign);
  34.     fPrintArray(array3, n, m);
  35. }
  36.  
  37. int** CreateArray(int n, int m)
  38. {
  39.     int** arr = new int*[n];
  40.     for (int i = 0; i<n; i++)
  41.         arr[i] = new int[m];
  42.     return arr;
  43. }
  44. void DeleteArray(int** array, int n)
  45. {
  46.     for (int i = 0; i < n; i++)
  47.         delete[] array[i];
  48.     delete[] array;
  49. }
  50. int fRandomizeArray(int **array, int n, int m, int rand_min, int rand_max)
  51. {
  52.     for (int i = 0; i<n; i++)
  53.     for (int j = 0; j < m; j++)
  54.         array[i][j] = rand_min + rand() % (rand_max - rand_min + 1);
  55.     return **array;
  56. }
  57. void fPrintArray(int **array, int n, int m)
  58. {
  59.     for (int i = 0; i < n; i++)
  60.     {
  61.         for (int j = 0; j < m; j++)
  62.             cout << array[i][j] << '\t';
  63.         cout << endl;
  64.     }
  65.     cout << endl;
  66. }
  67. void SumArray(int** array1, int **array2, int **array3, int n, int m)
  68. {
  69.     for (int i = 0; i<n; i++)
  70.         for (int j = 0; j<m; j++)
  71.             array3[i][j] = array1[i][j] + array2[i][j];
  72. }
  73. void DifArray(int** array1, int **array2, int **array3, int n, int m)
  74. {
  75.     for (int i = 0; i<n; i++)
  76.         for (int j = 0; j<m; j++)
  77.             array3[i][j] = array1[i][j] - array2[i][j];
  78. }
  79. int** Calculator(int** array1, int **array2, int **array3, int n, int m, char sign)
  80. {
  81.     switch (sign)
  82.     {
  83.         case '+':
  84.             SumArray(array1, array2, array3, n, m);
  85.             break;
  86.         case'-':
  87.             DifArray(array1, array2, array3, n, m);
  88.     }
  89.     return array3;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment