Необходимо найти сумму элементов двумерного динамического массива по периметру и побочной диагонали, но у меня идёт дублирование некоторых элементов из за этого ответ не верный
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
int sum;
sum = 0;
int i, n, j;
int **matrix;
cout <<"Введите размерность";
cin>> n;
matrix = new int *[n];
for (i=0; i<n; i++)
{
matrix[i] = new int [n];
for (j=0; j<n; j++)
matrix [i][j] = i*n+j+1;
}
for (i=0; i<n; i++){
for (j=0; j<n; j++)
if (((j==0)||(j==n-1))||((i==0)||(i==n-1)||(j==(n-i))))
sum += matrix[i][j];
}
cout<< "Результат:";
for(i=0; i<n; i++){
cout<< "\n";
for (j=0; j<n; j++)
cout <<setw(5) << matrix [i][j];
}
cout<<"\nСумма";
cout<< "\n";
cout << sum;
for(int i=0; i<n; i++){
delete matrix [i];
}
delete [] matrix;
return 0;
}