peshopbs2

2D array input, output, total sum, sum by row,min,min by row

Aug 22nd, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. #include <iostream>
  2. #define MAXN 10
  3. using namespace std;
  4.  
  5. void input_2d(int &n, int &m, int a[][MAXN]) {
  6.     cin >> n >> m;
  7.     for (int i = 0; i < n; i++) {
  8.         for (int j = 0; j < m; j++) {
  9.             cin >> a[i][j];
  10.         }
  11.     }
  12. }
  13.  
  14. void output_2d(int &n, int &m, int a[][MAXN]) {
  15.    
  16.     for (int i = 0; i < n; i++) {
  17.         for (int j = 0; j < m; j++) {
  18.             cout << a[i][j] << " ";
  19.         }
  20.         cout << endl;
  21.     }
  22. }
  23.  
  24. int sum_2d(int n, int m, int a[][MAXN]) {
  25.     int sum = 0;
  26.     for (int i = 0; i < n; i++) {
  27.         for (int j = 0; j < m; j++) {
  28.             sum += a[i][j];
  29.         }
  30.     }
  31.    
  32.     return sum;
  33. }
  34.  
  35. void sum_2d_rows(int n, int m, int a[][MAXN], int sums[]) {
  36.     for (int i = 0; i < n; i++) {
  37.         sums[i] = 0;
  38.         for (int j = 0; j < m; j++) {
  39.             sums[i] += a[i][j];
  40.         }
  41.     }
  42.    
  43. }
  44.  
  45. int min_2d(int n, int m, int a[][MAXN]) {
  46.     int mini = a[0][0];
  47.     for (int i = 0; i < n; i++) {
  48.         for (int j = 0; j < m; j++) {
  49.             if(a[i][j]<mini) mini = a[i][j];
  50.         }
  51.     }
  52.    
  53.     return mini;
  54. }
  55.  
  56. void min_2d_rows(int n, int m, int a[][MAXN], int minis[]) {
  57.     for (int i = 0; i < n; i++) {
  58.         minis[i] = a[i][0]; /* задаваме първия елемент от реда за минимум в началото*/
  59.         for (int j = 0; j < m; j++) {
  60.             if(a[i][j]<minis[i]) minis[i] = a[i][j];
  61.         }
  62.     }
  63. }
  64.  
  65. int main() {
  66.  
  67.     int a[MAXN][MAXN], n, m, sum[MAXN], minis[MAXN];
  68.     input_2d(n, m, a);
  69.     output_2d(n, m, a);
  70.     cout << sum_2d(n, m, a) << endl;
  71.     sum_2d_rows(n, m, a, sum);
  72.     for (int i = 0; i < n; i++)
  73.     {
  74.         cout << sum[i] << " ";
  75.     }
  76.    
  77.     cout << endl;
  78.     cout << min_2d(n, m, a) << endl;
  79.     min_2d_rows(n, m, a, minis);
  80.     for (int i = 0; i < n; i++)
  81.     {
  82.         cout << minis[i] << " ";
  83.     }
  84.    
  85.     cout << endl;
  86.    
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment