ostapdontstop

Untitled

Dec 28th, 2017
160
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6. void input (int &, string);
  7. void fill (int**, int, int);
  8. void output (int**, int, int);
  9. int max (int**, int, int);
  10.  
  11. main()
  12. {   int m, n;
  13.  
  14.     // input(m, "rows");
  15.     // input(n, "columns");
  16.  
  17.     m = n = 3;
  18.  
  19.     int* b = new int [m*n]; // задаю одномерный массив
  20.  
  21.     int** a = new int* [m]; // задаю массив указателей
  22.  
  23.     for (int i = 0; i < m; ++i)
  24.         a[i] = &b[n*i]; // указатели ссылаются в нужные места одномерного массива
  25.  
  26.     fill(a,m,n);
  27.  
  28.     output(a,m,n);
  29.  
  30.     for (int i = 0; i < 8; ++i) cout<<'-';
  31.     cout <<endl<< "max: "<< max(a,m,n);
  32.  
  33. }
  34.  
  35. void input (int &a, string b){
  36.     do
  37.     {   cout<<"Input "<<b<<": ";
  38.         cin>>a;
  39.     } while (a < 2);
  40. }
  41.  
  42. void fill (int** a, int m, int n){
  43.     for (int i = 0; i < m; ++i)
  44.         for (int j = 0; j < n; ++j)
  45.             a[i][j] = j*j-2*j-3*i;
  46. }
  47.  
  48. void output (int** a, int m, int n){
  49.     for (int i = 0; i < m; ++i){
  50.         for (int j = 0; j < n; ++j)
  51.             cout<<setw(3)<<a[i][j]<<' ';
  52.         cout<<endl;
  53.     }
  54. }
  55.  
  56. int max (int** a, int m, int n){
  57.     int max = 0;
  58.     for (int j = 0; j < n; ++j){
  59.         int s = 0;
  60.         for (int i = 0; i < m; ++i)
  61.             s+=fabs(a[i][j]);
  62.         max = s > max ? s:max;
  63.     }
  64.     return max;
  65. }
RAW Paste Data