Вы не можете инициализировать массив в '0', как этот
int cipher[Array_size][Array_size]=0;
Вы можете либо инициализировать все значения в массиве, как вы объявили это так:
// When using different values
int a[3] = {10,20,30};
// When using the same value for all members
int a[3] = {0};
// When using same value for all members in a 2D array
int a[Array_size][Array_size] = { { 0 } };
Иливам нужно инициализировать значения после объявления.Если вы хотите инициализировать все значения, например, 0, вы можете сделать что-то вроде:
for (int i = 0; i < Array_size; i++ ) {
a[i] = 0;
}