Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sabar en 3 Diciembre 2014, 00:20 am



Título: matriz transpuesta c++
Publicado por: sabar en 3 Diciembre 2014, 00:20 am
Código
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(){
  6.    int fila,columna,i,j;
  7.    int arr[20][20];
  8.    cout<<"ingrese el numero de filas";
  9.    cin>>fila;
  10.    cout<<"ingrese el numero de columnas";
  11.    cin>>columna;
  12.       for(i=0;i<fila;i++){
  13.        for(j=0;j<columna;j++){
  14.            cout<<"ingrese el numero de la fila"<<fila-3<<" columna"<<columna-3<<": ";
  15.            cin>>arr[i][j];
  16.        }
  17.       }
  18.       cout<<endl;
  19.       cout<<"matriz original"<<endl;
  20.       for(i=0;i<fila;i++){
  21.        for(j=0;j<columna;j++){
  22.            cout<<arr[i][j]<<" ";
  23.        }
  24.       }
  25.       cout<<endl;
  26.       cout<<"matriz invertido"<<endl;
  27.       for(i=0;i<fila;i++){
  28.        for(j=0;j<columna;j++){
  29.            cout<<arr[j][i]<<" ";
  30.        }
  31.       }
  32. }
  33.  
  34.  
  35.  
  36.  
  37.  


hola comunidad, en este ejercicio se me pide imprimir la matriz original y su transpuesta pero al final no me sale bien que error tengo ???  


Título: Re: matriz transpuesta c++
Publicado por: engel lex en 3 Diciembre 2014, 02:09 am
usa el debugger y ve que estás haciendo mal... no esperes que los otros resuelvan cada uno de los problemas pequeños como vienes posteando


Título: Re: matriz transpuesta c++
Publicado por: miguel ortiz en 18 Mayo 2020, 05:47 am
hola asi lo hice yo. solo era cambiar en el for hasta donde se recoreria la matriz.
Código
  1. #include <iostream>
  2. #include<locale.h>
  3. using namespace std;
  4. class programa{
  5.        private:
  6. int i,j,x,y,f,c,mayor,res,**matriz,h,k,**transpuesta;
  7.     public:
  8. programa();
  9. ~programa();
  10. int entrada();
  11. void proceso();
  12. void salida();
  13. };
  14. programa::programa(){
  15. x=y=i=j=f=c=mayor=res=0;
  16.     cout<<"ingrese el numero de filas: "<<endl;
  17.     cin>>f;
  18.     while(f<=0){
  19.     cout<<"ingrese el numero de filas: "<<endl;
  20.     cin>>f;
  21. }
  22.     cout<<"ingrese el numero de columnas: "<<endl;
  23.     cin>>c;
  24.     while(c<=0){
  25.     cout<<"ingrese el numero de columnas: "<<endl;
  26.     cin>>c;
  27. }
  28. matriz=new int *[f];
  29. transpuesta=new int *[f];
  30. for( int i=0; i<f; i++ ){
  31.  matriz[i] = new int[c];
  32.  transpuesta[i] = new int[c];
  33. }
  34. }
  35. programa::~programa(){
  36. cout<<"liberando memoria...\n";
  37. for( int i=0; i<f; i++ ){
  38.  delete[] matriz[i];
  39. delete[] matriz;
  40.  
  41. delete[] transpuesta[i];
  42. delete[] transpuesta;
  43. }
  44. }
  45. int programa::entrada(){
  46. for( i=0; i<f; i++)
  47.    {
  48.        for( j=0; j<c; j++)
  49.        {
  50.             cout<<"introducir numeros: ";
  51.             cin>>matriz[i][j];
  52.        }
  53.    }
  54. cout<<" matriz inicial: "<<endl;
  55.    for( i=0; i<f; i++)
  56.    {
  57.        for( j=0; j<c; j++)
  58.        {
  59.            cout<<matriz[i][j]<<" ";
  60.        }
  61.        cout<<endl;
  62.    }          
  63. }
  64. void programa::proceso(){
  65. for( i=0; i<f; i++)
  66.     {
  67.        for( j=0; j<c; j++)
  68.        {
  69.         transpuesta[i][j]=matriz[i][j];
  70.  
  71.         }
  72.    }
  73. }
  74.  
  75. void programa::salida(){
  76. cout<<" matriz final: "<<endl;
  77.    for( i=0; i<c; i++)
  78.    {
  79.        for( j=0; j<f; j++)
  80.        {
  81.            cout<<transpuesta[j][i]<<" ";
  82.        }
  83.        cout<<endl;
  84.    }
  85. }
  86. int main(){
  87. programa t;
  88. t.entrada();
  89. t.proceso();
  90. t.salida();
  91.  
  92. system("pause");
  93. return 0;
  94. }


Título: matriz transpuesta c
Publicado por: K-YreX en 18 Mayo 2020, 15:09 pm
El mensaje 'matriz transpuesta c   (http://foro.elhacker.net/index.php?topic=425774)' fue bloqueado
Reapertura de tema antiguo
Leer reglas:
http://foro.elhacker.net/reglas