|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - -.-JP
Páginas: [1]
1
« en: Domingo 5 de Junio de 2011, 08:32 »
Buenas !! Para un proyecto desarrolle un template de matriz, la matriz se debe llenar alrevez: ---> (9,1)(9,2)(9,3).... (8,1)(8,2)(8,3).... : : (1,1)(1,2)(1,3).... no puede utilizarse el 0! template <class T> matriz<T>::matriz() { _mat = new T**[_n]; for(int i = _n; i >=1; i--) { _mat = new T*[_n]; for(int j = 1; j< _n; j++) { _mat [j] = NULL; } } }
template <class T> const int matriz<T>::_n = 9;
template <class T> unsigned int matriz<T>::n() const { return _n; }
al establecer 9... la matriz sera cuadrada de 9x9.... pero tengo un error en el constructor que no logro enteder, terminando en un error al ejecutarse donde se cae el programa ( segmentation fault) Espero sus respuestas, GRACIAS
2
« en: Viernes 3 de Junio de 2011, 01:43 »
Buenas!! He implementado una template de matriz; con el objetivo de usarle en un proyecto, especificamente un juego de dados, con casillas y mas.... aparentemente todo funciona, pero tengo un problema con el toString()! no me reconoce la funcion que tendria el objeto.
Adjunto el codigo: Espero Puedan ayudarme a Solucionarlo. MUCHAS GRACIAS
#ifndef MATRIZ_H #define MATRIZ_H
#include <iostream> #include <sstream>
using namespace std;
template <class T> class matriz;
template <class T> class matriz { public: matriz(); virtual ~matriz(); matriz(const matriz<T>&);
virtual unsigned int n() const;
void agregar(T*, unsigned int, unsigned int); virtual T* recuperar(unsigned int, unsigned int) const;
virtual bool validar(unsigned int, unsigned int);
virtual string toString()const; virtual void eliminar(unsigned int, unsigned int);
private: T*** _mat; static const int _n; };
// -----------------------------------------------------------//
template <class T> matriz<T>::matriz() { _mat = new T**[_n]; for (int i = _n; i >= 1; i--) { _mat = new T*[_n]; for (int j = 0; j < _n; j++) { _mat [j] = NULL; } } }
template <class T> const int matriz<T>::_n = 9;
template <class T> unsigned int matriz<T>::n() const { return _n; }
template <class T> matriz<T>::~matriz() { for (unsigned int i = 0; i < _n; i++) { for (unsigned int j = 0; j < _n; j++) { if (_mat[j] != NULL) { delete _mat[j]; }; } delete[] _mat; } delete[] _mat; }
template <class T> void matriz<T>::eliminar(unsigned int filas, unsigned int col) { _mat[filas][col] = NULL; }
template <class T> void matriz<T>::agregar(T* nuevo, unsigned int filas, unsigned int col) { if ((filas <= _n) && (col <= _n)) { if (!_mat[filas][col]) { _mat[filas][col] = nuevo; } else { _mat[filas][col] = NULL; } } }
template <class T> T* matriz<T>::recuperar(unsigned int filas, unsigned int col) const { return (filas < n() && col < n()) ? _mat[filas][col] : NULL; }
template <class T> bool matriz<T>::validar(unsigned int filas, unsigned int col) { return (filas < n() && col < n()); }
template <class T> string matriz<T>::toString()const { stringstream r; unsigned int c = n() + 1; r << "n"; for (unsigned int i = 0; i < n(); i++) { r << " +---+---+---+---+---+---+---+---+---+"; r << "n"; c--; for (unsigned int j = 0; j < n(); j++) { if (j == 0) { r << c << " "; } r << "|" << " "; r << ((_mat[j] != NULL) ? ? _mat[j]->toString() : " "); r << " "; if (j == n() - 1) { r << "| n"; } } }
return r.str(); }
#endif /* MATRIZ_H */
3
« en: Miércoles 13 de Octubre de 2010, 10:49 »
buenas =) podrai alguien ayduarme, tengo un programa que realiza calculos, y ocupo que el usuario solo digite numeros, letras se me cae el programa -.-. Como valido que solo digite numeros de tipo double??? les dejo parte del codigo: case '1': { system("cls"); system("color f5"); double xp; double yp; cout<<endl<<endl; cout<<" PUNTO"<<endl; cout<<" _____"<<endl; cout<<endl<<endl<<endl; cout<<"Digite (x,y) para crear Punto: "<<endl; cout<<endl; cout<<"X: "; cin>>xp; cout<<endl; cout<<"Y: "; cin>>yp; menuPunto(xp,yp); break; }
4
« en: Miércoles 13 de Octubre de 2010, 10:44 »
buenas =) podrai alguien ayduarme, tengo un programa que realiza calculos, y ocupo que el usuario solo digite numeros, letras se me cae el programa -.-. Como valido que solo digite numeros de tipo double??? les dejo parte del codigo: case '1': { system("cls"); system("color f5"); double xp; double yp; cout<<endl<<endl; cout<<" PUNTO"<<endl; cout<<" _____"<<endl; cout<<endl<<endl<<endl; cout<<"Digite (x,y) para crear Punto: "<<endl; cout<<endl; cout<<"X: "; cin>>xp; cout<<endl; cout<<"Y: "; cin>>yp; menuPunto(xp,yp); break; }
5
« en: Sábado 2 de Octubre de 2010, 01:25 »
Es parte de un proyecto en el cual el metodo base y mas impotante es este, es sobe poligonos y sus areas en un plano, no se debe ealizar la representacion grafica..."Un punto en el plano se representa mediante un par ordenado (x,y),“y” representa un número real en el eje Y y “x” en el eje X. Un punto debe ser capaz de realizar un desplazamiento horizontal de valor “n” y un desplazamiento vertical de valor “n” en el plano. Un punto debe de poseer un método que permita calcular su distancia con respecto a otro punto y poseer un método que permita saber si un punto es colineal a otro punto" GRACIAS!por la ayuda con el codigo, si pueden incluir comentarios seia perfecto , estoy usando codeblocks
Páginas: [1]
|
|
|