Advertisement
Wow_Rasl

Untitled

Dec 10th, 2021
1,019
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <stdio.h>
  4. #include <algorithm>
  5. using namespace std;
  6. int* a;
  7. int m,n;
  8. void create(int **pa, int* pn, int* pm){
  9.     printf("n = ");
  10.     scanf("%d", &n);
  11.     printf("m = ");
  12.     scanf("%d", &m);
  13.     a = (int*)malloc(sizeof(int)*m*n);
  14.     for(int i=0;i<n*m;++i){
  15.         scanf("%d", &a[i]);
  16.     }
  17.     *pa = a;
  18.     *pn = n;
  19.     *pm = m;
  20. }
  21.  
  22. void printArr(int *a){
  23.     printf("исходный массив = \n");
  24.     for(int i=0;i<n;++i){
  25.         for(int j=0;j<m;++j){
  26.             printf(" %d", *(a+i*m+j));
  27.         }
  28.         printf("\n");
  29.     }
  30. }
  31.  
  32. int max_even(int *a){
  33.     int mx=0;
  34.     for(int i=0;i<n;++i){
  35.         int current = 0;
  36.         for(int j=0;j<m;++j){
  37.             if(*(a+m*i+j) % 2 == 0){
  38.                 ++current;
  39.             }
  40.         }
  41.         mx = max(mx, current);
  42.     }
  43.     return mx;
  44. }
  45.  
  46. void count_sum(int* a){
  47.     int ans = 0;
  48.     int mx = max_even(a);
  49.     for(int i=0;i<n;++i){
  50.         int current = 0, sum = 0;
  51.         for(int j=0;j<m;++j){
  52.             sum+=*(a+m*i+j);
  53.             if(*(a+m*i+j) % 2 == 0){
  54.                 ++current;
  55.             }
  56.         }
  57.         if(current == mx){
  58.             ans+=sum;
  59.         }
  60.     }
  61.     printf("ответ на задание = %d\n", ans);
  62. }
  63.  
  64. int main()
  65. {
  66.     create(&a, &n, &m);
  67.     printArr(a);
  68.     count_sum(a);
  69.     return 0;
  70. }
  71.  
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement