ostapdontstop

Untitled

Dec 27th, 2017
159
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 &a, string b);
  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.     int* b = new int [m*n]; // задаю одномерный массив
  18.  
  19.     int** a = new int* [m]; // задаю массив указателей
  20.  
  21.     for (int i = 0; i < m; ++i)
  22.         a[i] = &b[n*i]; // указатели ссылаются в нужные места одномерного массива
  23.  
  24.     fill(a,m,n);
  25.     output(a,m,n);
  26.     cout <<endl<< "max: "<< max(a,m,n);
  27.  
  28. }
  29.  
  30. void input (int &a, string b){
  31.     do
  32.     {
  33.         cout<<"Input "<<b<<": "<<endl;
  34.         cin>>a;
  35.     } while (a<2);
  36. }
  37.  
  38. void fill (int** a, int m, int n){
  39.     for (int i = 0; i < m; ++i)
  40.         for (int j = 0; j < n; ++j)
  41.             a[i][j] = j*j-2*j-3*i;
  42. }
  43. void output (int** a, int m, int n){
  44.     for (int i = 0; i < m; ++i){
  45.         for (int j = 0; j < n; ++j)
  46.             cout<<setw(3)<<a[i][j]<<' ';
  47.         cout<<endl;
  48.     }
  49. }
  50. int max (int** a, int m, int n){
  51.     int max = 0;
  52.     for (int j = 0; j < n; ++j){
  53.         int s = 0;
  54.         for (int i = 0; i < m; ++i)
  55.             s+=fabs(a[i][j]);
  56.         max = s > max ? s:max;
  57.     }
  58.     return max;
  59. }
RAW Paste Data