Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
#include<iostream>

using namespace std;

int main(){
   int fila,columna,i,j;
   int arr[20][20];
   cout<<"ingrese el numero de filas";
   cin>>fila;
   cout<<"ingrese el numero de columnas";
   cin>>columna;
      for(i=0;i<fila;i++){
       for(j=0;j<columna;j++){
           cout<<"ingrese el numero de la fila"<<fila-3<<" columna"<<columna-3<<": ";
           cin>>arr[i][j];
       }
      }
      cout<<endl;
      cout<<"matriz original"<<endl;
      for(i=0;i<fila;i++){
       for(j=0;j<columna;j++){
           cout<<arr[i][j]<<" ";
       }
      }
      cout<<endl;
      cout<<"matriz invertido"<<endl;
      for(i=0;i<fila;i++){
       for(j=0;j<columna;j++){
           cout<<arr[j][i]<<" ";
       }
      }
}







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 (cpp) [Seleccionar]

#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;
}
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