Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,970 questions

51,912 answers

573 users

How to mirror a matrix across the main diagonal in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
  
using std::vector;
using std::cout;
  
void printMatrix(const vector<vector<int>>& matrix) {
    for (const auto& row : matrix) {
        for (int element : row) {
            cout << element << " ";
        }
        cout << "\n";
    }
}
  
// Function to mirror the matrix across the main diagonal
void mirrorMatrix(vector<vector<int>>& matrix) {
    int size = matrix.size(); // Size of the square matrix
  
    // Swap elements above the diagonal with those below it
    for (int i = 0; i < size; i++) {
        for (int j = i + 1; j < size; j++) {
            std::swap(matrix[i][j], matrix[j][i]);
        }
    }
}
  
int main() {
    int n = 3;
  
    vector<vector<int>> matrix = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
  
    // Print the original matrix
    cout << "Original Matrix:\n";
    printMatrix(matrix);
  
    // Mirror the matrix across the diagonal
    mirrorMatrix(matrix);
  
    // Print the mirrored matrix
    cout << "Mirrored Matrix:\n";
    printMatrix(matrix);
}
  
  
  
  
/*
run:
  
Original Matrix:
1 2 3 
4 5 6 
7 8 9 
Mirrored Matrix:
1 4 7 
2 5 8 
3 6 9 
  
*/

 



answered Aug 27, 2025 by avibootz
edited Aug 27, 2025 by avibootz

Related questions

...