помогите з проблемой динамичиский масив (A[n][n]) c++
Дана целочисленная матрица А размерности nxn. Выделите для нее необходим объем динамической памяти. Заполнить матрицу случайными двухцифровыми числами. Найти сумму элементов в столбцах, которые не содержат числа с двумя одинаковыми цифрами. Проверку, входят ли в числа одинаковые цифры выполнить с помощью функции. Высвободите динамическую память
вот мой код:
#include <iostream>
#include <time.h>
bool dopfunc2(int *a, int n);
int main()
{
srand(time(NULL));
int n;
std::cout << "vvedit rozmir matrizi: ";
std::cin >> n;
int **A=new int*[n];
for(int i=0;i<n;i++) A[i] = new int[n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
A[i][j]=rand()%89+10;
std::cout << A[i][j] << " ";
}
std::cout << std::endl;
}
int **pointer=&A[0];
std::cout << std::endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
std::cout << &A[i][j] << " ";
}
std::cout << std::endl;
}
std::cout << std::endl;
int *sum=new int[n];
for(int i=0;i<n;i++)sum[i]=0;
int lich=0;
std::cout << std::endl;
for(int i=0;i<n;i++)std::cout << &A[0][i] << " ";
std::cout << std::endl;
for(int i=0;i<n;i++)
{
if(dopfunc2(&A[0][i], n))
{
for(int j=0;j<n;j++)
{
sum[lich]+=A[j][i];
//std::cout << sum[lich] << " (" << A[j][i] << " ) ";
}
lich++;
}
}
std::cout << std::endl;
for(int i=0;i<lich;i++)
{
std::cout << sum[i] << " ";
}
}
bool dopfunc2(int *a, int n)
{
std::cout << "||" << a << "\n";
bool k=true;
for(int i=0;i<n;i++)
{
if(*(a+i*n)/11.0==(int)(*(a+i*n)/11.0))k=0;
std::cout << k << " || " << (a+i*n) << "\n";
//if(n%2==0)a=a+4;
//else a=a+3;
}
std::cout << "next k" << "\n";
return k;
}```
проблема заключается в том что код работает только с костилем в виде строчек
if(n%2==0)a=a+4; else a=a+3;
в ином случае вот такие адреса в елементов матрици:
![1]: https://i.stack.imgur.com/XALp1.png
но адреса по которим идет указатель [![адреса][1]][1]
[1]: https://i.stack.imgur.com/yjnCS.png
я не понимаю, когда я работал с статической матрицей то всьо работало гуд а сейчас при переходе на новою строчку адреса изменяются не на sizeof(type) a на 16 бит.
Может кто-то обьяснить почему так, или статью с такой инфой кинуть. Буду очень благодарен
P.s. сори за свой ламаний русской