Помогите дополнить код(задача по C++)

Дан массив N x M , содержащий различные числа - секретную информацию. Перед отправкой его необходимо зашифровать.

При шифровке информация W каждой ячейки разбивается на две: значение первой получается в результате целочисленного деления W на 45, а значение второй является остатком от деления W на 45.

#include <iostream>
using namespace std;
int main() {
  int n, m, count=0;
  cin >> n >> m;
  int arr[n][m];
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> arr[i][j];
    }
  }

     
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      arr[i][j] = arr[i][j] % 45;
    }
  }
       for (int i = 0; i < n; i++){   
   for (int j = 0; j < m; j++) {
     cout << count << arr[i][j] << " ";
   }
     cout << endl;
       }
}

Тут же нужен счётчик?

Тут наверно надо новый массив создать, в котором M в 2 раза больше.


При вставке кода на форумы надо нажимать кнопку Код.

3D массив :slight_smile: в [iN, jM, 0] хранить div, a в [iN, jM, 1] - mod :zombie:

При чем здесь трехмерный массив? На выходе должно получиться две квадратные матрицы.
Первая – результат деления ячеек на 45
Вторая – ячейки остатки от деления.
Почему квадратная матрица? Потому как изначально задан массив размером N x M.

Ну так авторы задания не уточнили как именно реализовывать разбитые ячейки.
Поэтому все три варианта выше подходят.

И где тут квадрат? :thinking:

Имел ввиду N x M а не N x M x Z
Прямоугольными матрицы не называют ))

Еще вариант: в ячейке [i,j] хранить число вида div45,mod45
256 = 5,31

С обычными float/double наверно могут возникнуть проблемы из-за точности.

Строки еще можно, тогда вообще 100500 вариантов )

Счетчик тут не нужен. Что собрались считать, количество итераций, зачем?