Matriz transpuesta en c++ – Stack Overflow en español

Que onda, tengo que hacer una matriz transpuesta, lo que sucede es que tengo este código que hice funcionar bien y me regresa este resultado.

(1)(4)

(2)(5)

(3)(6)

Pero me tiene que dar esto:

(1)(3)(5)

(2)(4)(6)

pero no me da, ya intente la única que me sale es la que ya tengo hecha, no se si alguien me pueda ayudar, dejo mi código como referencia.
(Ya la hice (2)(3), intenté hacer cambios, en i, y en x, para hacerlos mas cortos, en fin, varios cambios pero no me da) Saludos comunidad

    #include <iostream>
using namespace std;
int main() {
    int a(3)(3);
    
    cout<<"Digite los numeros a ordenar"<<endl;
    for(int i=0; i<3; i++){
        for(int j=0; j<3; j++){
            cout<<"Posicion"<<"("<<i<<")"<<"("<<j<<")"<<endl;
        cin>>a(i)(j);
        }
    }
    for(int x=0; x<3; x++){
        for(int y=0; y<3; y++){
           cout<<"("<<a(y)(x)<<")";
        }
        cout<<endl;
    }

    return 0;
}