S>для того чтобы не городить велосипеды, более того матрицы могут быть не квадратные, соотвественно например если она представлялась массивом double a[2][3], то её транспонированная будет представляться массивом double b[3][2]
Какая главная диагональ существует у не квадратной матрицы хотелось бы знать? Второе утверждение неверное, размерность матрицы не меняется, а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст.