Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Dudas sobre la ejecucion de este programa

Preguntas y respuestas sobre el lenguaje de programacion C/C++

Dudas sobre la ejecucion de este programa

Notapor madsiro el Mié Dic 12, 2007 6:20 pm

Hola, estoy haciendo pruebas acerca el manejo de matrices multidimensionales como parametros, escribi esto:
Código: Seleccionar todo
#include <iostream>
using namespace::std;
int main(){
   int fil,col;
   cout<<"numero de filas: ";
   cin>>fil;
   cout<<"numero de columnas: ";
   cin>>col;
   int *m[col];
   
   for(int i=0;i<fil;i++){
      for(int j=0;j<col;j++){
         cin>>*(m[j]+i);
      }
   }
   
   for(int i=0;i<fil;i++){
      cout<<endl;
      for(int j=0;j<col;j++)
         cout<<*(m[j]+i)<<" ";
      
   }
   cout<<endl<<"fin"<<endl;
   return 0;
}

Corre bien, pero al final aparecen unos mensajes:
madsiro@debian:~$ g++ prueba.cc -o prueba.o;./prueba.o
numero de filas: 2
numero de columnas: 3
1 2 3 4 5 6

1 2 3
4 5 6
fin
22391:
22391: calling fini: ./prueba.o [0]
22391:
22391:
22391: calling fini: /usr/lib/libstdc++.so.6 [0]
22391:
22391:
22391: calling fini: /lib/i686/cmov/libm.so.6 [0]
22391:
22391:
22391: calling fini: /lib/libgcc_s.so.1 [0]
22391:
22391:
22391: calling fini: /lib/i686/cmov/libc.so.6 [0]
22391:

por que sale eso al final?
madsiro
Novato
Novato
 
Mensajes: 7
Registrado: Vie Nov 23, 2007 6:17 pm

Re: Dudas sobre la ejecucion de este programa

Notapor ivancp el Mié Dic 12, 2007 8:21 pm

Reemplaza la linea
Código: Seleccionar todo
int *m[col];


Por:

Código: Seleccionar todo
int **m;
m = new int*[fil];
for(int i = 0 ; i < fil;i++)
    m[i] = new int[col];


Y despues de imprimir fin tienes que agregar:


Código: Seleccionar todo
for(int i = 0 ; i < fil;i++)
    delete m[i];
delete []m;
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 301
Registrado: Jue Sep 06, 2007 12:57 pm

Solucionado

Notapor madsiro el Mié Dic 12, 2007 9:38 pm

Gracias, si era eso
madsiro
Novato
Novato
 
Mensajes: 7
Registrado: Vie Nov 23, 2007 6:17 pm


Volver a C/C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado