Răspuns :
Ai aici acea portiune de cod care face modificarea propriu zisa. La o parcurgere a liniei nu modificam elementul de pe diagonala pricipala deoarece dupa ce trecem de el nu il mai cunoasteam cat era initial.
O sa iti las 2 rezolvari:
1) cu actualizare la final
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
if(i!=j)
a[i][j]=a[i][j]+a[i][i];
a[i][i]=a[i][i]+a[i][i];
}
2) cu salvare in prealabil
for(int i=0; i<n; i++)
{
int e = a[i][i];
for(int j=0; j<n; j++)
a[i][j]=a[i][j]+e;
}