hola asi lo hice yo. solo era cambiar en el for hasta donde se recoreria la matriz.
#include <iostream>
#include<locale.h>
using namespace std;
class programa{
private:
int i,j,x,y,f,c,mayor,res,**matriz,h,k,**transpuesta;
public:
programa();
~programa();
int entrada();
void proceso();
void salida();
};
programa::programa(){
x=y=i=j=f=c=mayor=res=0;
cout<<"ingrese el numero de filas: "<<endl;
cin>>f;
while(f<=0){
cout<<"ingrese el numero de filas: "<<endl;
cin>>f;
}
cout<<"ingrese el numero de columnas: "<<endl;
cin>>c;
while(c<=0){
cout<<"ingrese el numero de columnas: "<<endl;
cin>>c;
}
matriz=new int *[f];
transpuesta=new int *[f];
for( int i=0; i<f; i++ ){
matriz[i] = new int[c];
transpuesta[i] = new int[c];
}
}
programa::~programa(){
cout<<"liberando memoria...\n";
for( int i=0; i<f; i++ ){
delete[] matriz[i];
delete[] matriz;
delete[] transpuesta[i];
delete[] transpuesta;
}
}
int programa::entrada(){
for( i=0; i<f; i++)
{
for( j=0; j<c; j++)
{
cout<<"introducir numeros: ";
cin>>matriz[i][j];
}
}
cout<<" matriz inicial: "<<endl;
for( i=0; i<f; i++)
{
for( j=0; j<c; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}
}
void programa::proceso(){
for( i=0; i<f; i++)
{
for( j=0; j<c; j++)
{
transpuesta[i][j]=matriz[i][j];
}
}
}
void programa::salida(){
cout<<" matriz final: "<<endl;
for( i=0; i<c; i++)
{
for( j=0; j<f; j++)
{
cout<<transpuesta[j][i]<<" ";
}
cout<<endl;
}
}
int main(){
programa t;
t.entrada();
t.proceso();
t.salida();
system("pause");
return 0;
}