matriz transpuesta c++

Iniciado por sabar, 3 Diciembre 2014, 00:20 AM

0 Miembros y 1 Visitante están viendo este tema.

sabar

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 ???  

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

miguel ortiz

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

K-YreX

El mensaje 'matriz transpuesta c  ' fue bloqueado
Reapertura de tema antiguo
Leer reglas:
http://foro.elhacker.net/reglas
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;