• Sábado 28 de Septiembre de 2024, 15:34

Mostrar Mensajes

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.


Mensajes - bosspring

Páginas: [1]
1
C/C++ / Iteradores Y Punteros
« en: Jueves 4 de Noviembre de 2004, 19:04 »
Tengo un problema con este tema, y muy probablemente su solución es inmediata, pero no soy capaz de dar con ella.  :(

Ahora mismos dispongo de esto:

vector<CNodoArbol>::iterator

y lo que quiero es asignar el apuntador del iterador anterior a un puntero normal:

CNodoArbol* punt

Pero no soy capaz de hacer el cast, y no veo muy claro el porqué. Si alguien me pudiese ayudar se lo agradecería un montón.

Un saludo a todos

2
C/C++ / Re: Problema Con Iteradores
« en: Domingo 10 de Octubre de 2004, 21:55 »
En primer lugar agradecerte la respuesta, y paso a comentarte que ya habia contemplado las dos opciones, y con ambas me da problema.

El código exacto de esa instrucción es el siguiente:

itarbolresult->insertDoc(itarboldoc);

donde itarboldoc se define asi :

set<documento, less<documento> >::iterator itarboldoc

La respuesta que da el compilador es la siguiente:

passing `const resultado' as `this' argument of `void resultado::insertDoc(_Rb_tree_iterator<documento,const documento &,const documento *>)' discards qualifiers

Respecto a que compilador utilizo, pues es el que viene incorporado en Dev-C++4, que lo utilizo porque me dijeron que funcionaba muy bien, y yo la verdad es que tengo muy poca experiencia en C++, asi que por eso he trabajado con ello.

Muchas gracias de verdad, y si me puedes aclarar un poco porqué el error y todo eso... pues me harías un gran favor. :D

3
C/C++ / Problema Con Iteradores
« en: Jueves 7 de Octubre de 2004, 20:17 »
He definido una estructura SET para una clase propia que denomino RESULTADO:

set<resultado, less<resultado> > arbolresult

Lo que yo pretendo es recorrer esa estrctura con un iterador

set<resultado, less<resultado> >::iterator itarbolresult = arbolresult.begin();

y cuando encuentre el elemento que estoy buscando, quiero modificar el valor de un atributo, para lo cual en la clase resultado dispongo de una operación que se denomina insertDoc, y a la hora de ejecutarlo me está dando constantemente errores, y probablemente es porqué me he perdido en el concepto de iterador y lo estoy utilizando como un puntero "normal".

Lo que yo pruebo es algo así como esto: itarbolresult->insertDoc() y no me funciona :angry: , y supongo que es un error tonto, simplemente de concepto, pero cuando uno empieza...

Gracias de antemano

4
C/C++ / Re: Problemas Con La Utilización De La Plantilla <set>
« en: Jueves 12 de Agosto de 2004, 10:07 »
Bueno, al final he sido capaz de solucionarlo, aunque si soy sincero no sé exactamente donde estaba el error, pero me imagino que en alguna de las comparaciones.

De todas formas, muchas gracias por todo. Un saludo amigo

5
C/C++ / Problemas Con La Utilización De La Plantilla <set>
« en: Miércoles 11 de Agosto de 2004, 09:56 »
Bueno, antes que nada saludaros a todos porque este es mi primer mensaje, y espero que en el futuro pueda seguir por aqui totalmente identificado con el resto de usuarios y personas que navegan por este foro.

Hace como un mes aproximadamente que empecé a trabajar con C++, y estoy teniendo algún tipo de dificultades, aunque la principal es la que os voy a plantear a continuación.

Esto intentando implementar un conjunto de elementos mediante un SET porque quiero hacer posteriores búsquedas logarítmicas sobre él. Los elementos que incluyo en dicho conjunto son de tipo "nodo" que es una clase que yo he creado. Mi problema, es que no entiendo muy bien como se hace internamente la búsqueda, y ahora mismo lo que tengo hecho es una sobrecarga de los operadores == y <, pero el resultado que me devuelve no coincide con el valor buscado, y no sé sobre donde debo trabajar.

Mi clase "nodo" tiene un aspecto como este:


#include <vector>
#include <string>

using namespace std;

class nodo{

      private:
            int max;
            short nivel1;
            vector<char> niveles;
            string expresion;
           
      public:
            nodo(int cod, short pnivel1, vector<char> pniveles);
            nodo(int cod, short pnivel1, vector<char> pniveles, string pexpresion);
            short getNivel1();
            vector<char> getNiveles();
            string getExpresion();
            int getMax();

            nodo& operator= (nodo&);
            friend bool operator== (const nodo&, const nodo&);
            friend bool operator< (const nodo&, const nodo&);
};

Y de alguna manera lo que establece las relaciones de comparación, sería por un lado comparar el valor de "nivel1" y por otro cada uno de los valores del vector de caracteres "niveles".

Si alguno de vostros sabría como ayudarme le estaría muy agradecido, porque la verdad es que me estoy volviendo "loco" con ello  :P.

Gracias de antemano por todo, y espero que a partir de ahora yo también pueda echaros una mano de vez en cuando.

Páginas: [1]