[C con Clase] Problema al terminar de ejecutar

César Arias sinatra435 en hotmail.com
Vie Jun 21 06:12:34 CEST 2013



Hola, hola,
tengo un pequeño problema con este programa:

---------------------------------------------------------------------------------------------------------------

#include<iostream.h>

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

 

class MAT{

                private:

                               int ord;

                               int **m;

                public:

                               void crear(void);

                               MAT(int x);

//                           ~MAT();

                               void imp();

                               void menor(MAT
&, int, int);

};

 

MAT::
MAT(int x){

                ord = x;

                m=(int **)malloc(sizeof(unsigned)*ord);

                for(x=0; x<ord; x++)

                               m[x]=(int
*)malloc(sizeof(int)*ord);

}

/*

MAT::~MAT(){

                for(int x=0; x<ord; x++){

                               free(m[x]);

                }

                free(m);

                free(&ord);

}

*/

 

void
MAT::crear(void){

                int x, y, cont=1;

                for(x=0; x<ord; x++){

                               for(y=0;
y<ord; y++){

                                               m[x][y]=cont++;

                               }

                }

}

 

void
MAT::imp( ){

                cout<<endl;

                for(int x=0; x<ord; x++){

                               for( int y=0;
y<ord; y++)

                                               printf("%2d
",m[x][y]);

                               printf("\n");

                }

                printf("-----------------------\n");

}

 

void
MAT::menor(MAT &mat, int i, int j){

                int a, b, x, y;

                

                for( x=0, a=0; x<ord; x++){

                               if(x==i)

                                               continue;

                               for( y=0, b=0;
y<ord; y++){

                                               if(y==j)

                                                               continue;

                                               mat.m[a][b]
= m[x][y];

                                               b++;

                               }

                               a++;

                }

                mat.ord=ord-1;

}

 

int main(){

                MAT mat(3), men(3-2);

                

                mat.crear();

                mat.imp();

                

                mat.menor(men, 0, 0);

                men.imp();

                

                cout<<"return
0";

                return 0;

}

----------------------------------------------------------------------------------------------------------------

Como se darán
cuenta al ejecutarlo el programa llega hasta el final, pero al terminar salen
un mensaje de diciendo que el programa dejo de funciona.

Gracias por
sus respuestas de antemano.

 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130620/2bec8020/attachment.html>


Más información sobre la lista de distribución Cconclase