Для организации обмена элементами диагоналей в квадратной матрице можно использовать следующий алгоритм: 1
Для прямоугольных матриц с размером m x n для обмена элементами диагоналей можно использовать временную переменную temp: 2
nmin = n - 1; 2for (i = 0; i < n; i++) { k = nmin - i; 2 for (j = 0; j < n; j++) { temp = a[i][ j]; l = nmin - j; a[i][j] = a[l][k]; a[l][k] = temp; }}
Если количества строк и столбцов в матрице не совпадают, то возникает неоднозначность в выборе действий, которую можно устранить начальным соглашением. 2
Также на сайте cyberforum.ru представлена программа на C#, которая позволяет обменять элементы главной и побочной диагоналей в каждом столбце матрицы. 3