Ввести двумерный массив A_N+M . Все элементы, которые кратны 4 и стоят ** позициях, у...

+765 голосов
4.0m просмотров

Ввести двумерный массив A_N+M . Все элементы, которые кратны 4 и стоят на позициях, у которых как минимум один из индексов чётный, разделить нацело на 4. Массив вывести до и после преобразования. С++


Информатика (145 баллов) | 4.0m просмотров
Дан 1 ответ
+78 голосов

#include

#include

using namespace std;

void input(vector> &vec){

   for(int i = 0; i < vec.size(); i++)

       for(int j = 0; j < vec[i].size(); j++)

           cin >> vec[i][j];

}

void print(vector> &vec){

   for(int i = 0; i < vec.size(); i++){

       for(int j = 0; j < vec[i].size(); j++)

           cout << vec[i][j] << " ";</strong>

       cout << "\n";</strong>

   }

}

void modify(vector> &vec){

   for(int i = 0; i < vec.size(); i++)

       for(int j = 0; j < vec[i].size(); j++)

           if(vec[i][j] % 4 == 0 && (i*j) % 2 == 0)

               vec[i][j] /= 4;

}

signed main() {

   int n,m;

   cin >> n >> m;

   vector> a(n,vector(m));

   input(a);

   cout << "BEFORE:\n";</strong>

   print(a);

   modify(a);

   cout << "AFTER:\n";</strong>

   print(a);

}

(148k баллов)