Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Acermax

#41
Esa función, en el primer parámetro está esperando un dato de tipo tFurniture, y tu le estás pasando un puntero.
#42
Eso que pides, a menos que consigas una orden judicial, es imposible.

Un localizador de IP te va a dar la posición de la centralita de la empresa que suministra internet a esa IP, como mucho. Si quieres saber a quien pertenece tienes que ir a la empresa y que te lo digan, y como no tienes pinta de policía, no lo harán.

Por cierto, esto que tiene que ver con c/c++?
#43
El error es muy claro, intentas hacer una división por 0, así que hay algo que no funciona como quieres, te recomiendo que lo depures y vayas echandole un vistazo a las cosas.
#44
Programación C/C++ / Re: Ayuda con c++
4 Mayo 2011, 03:38 AM
El vector debes crearlo fuera del IF, es muy probable que el error que dices sea ese, además que no tiene mucho sentido ese while para crear el vector. Crea al vector antes.

Tu problema viene a la hora de que no tienes en cuenta el alcance de las variables, en este caso la variable "a" local. Googleando un poco he encontrado una página que creo que lo dice más o menos clarillo: http://www.modelo.edu.mx/univ/virtech/prograc/cplus2.htm

Un saludo.
#45
Programación C/C++ / Re: Ayuda con c++
3 Mayo 2011, 02:54 AM
Tal vez no lo esté entendiendo muy bien, pero si tu clase vector lo que usa son unos nuevos indice inferior y superior, no puedes devolver la posicion 'i' directamente, es decir, si tu creas, según tu clase, un vector de la forma: Vector (5,10) es un vector que los indices serían Vector[5], Vector[6],...,Vector[10], aunque internamente tu creas un Vector de la posición 0 a la 5.

Entonces tu operador [] debería ser de la forma


int& Vector::operator[](int i)
{
   return data[i-indice_min];
}


Y además te decía que para los vectores se usan 2 operadores iguales, que no estoy seguro si el error es por eso, pero implementalo porque es lo correcto. Uno se usa para la lectura del dato, es decir para hacer por ejemplo cout << Vector, y otro para la escritura: cin >> Vector, asi que deberías implementarlo así.


const int& Vector::operator[](int i) const
{
   return data[i-indice_min];
}


De todas maneras deberías poner el error exactamente que te da, a ver que dice el compilador.
#46
Para saber como funciona una pila o una lista te recomiendo que te leas los apuntes, no es nada complicado de entender, pero si tal vez tedioso de explicar en un foro...

Respecto a los métodos que tiene cada clase...

Una pila debería tener un Push (T) que apile en el tope el objeto T, un Pop() que lo borre, un TOP() que te devuelva el valor del tope, un Empty() que te diga si está vacía... y más cosas que puedas querer añadir tu, eso es a tu gusto o a la necesidad del ejercicio.

La clase nodo si la entiendes de los apuntes no tiene mucho tema, debería tener 2 ó 3 objetos dependiendo de como vayas a usar las listas, 2 que guardaran punteros al anterior y al siguiente de la lista y otro con el valor guardado en la lista.

Y la lista basada en los nodos como explique arriba... Las listas stl normalmente se basan en iteradores, pero no sé si vosotros los quereis usar. Lo normal es un begin() que te devuelve referencia a la primera posicion, un end() con la ultima, un empty() que te dirá si está vacía, un clear() que te la limpia... Pero basicamente el funcionamiento debería ser del iterador que lo recorre, o que te dice el elemento actual y demas.
#47
Programación C/C++ / Re: Ayuda con c++
2 Mayo 2011, 20:34 PM
A ver, el problema es que con ese trozo de código no puedo saber exactamente como lo haces.

IMAGINO que estás creando una clase llamada IArray que hereda de la clase vector de STL. En este caso STL utiliza 2 operadores [], uno para lectura y otro para escritura.


template <class T>
T & operator[]( int index )

template <class T>
const T & operator[]( int index ) const


Deberías implementar el operador [] que te falta, el constante. Internamente tiene que hacer exactamente lo mismo que el otro.

No sé si el problema vendrá por ahí, porque ya te digo, a la vista de ese código no veo nada más a simple vista.
#48
Programación C/C++ / Re: Ayuda con c++
2 Mayo 2011, 18:47 PM
No sé si entiendo muy bien lo que pides, pero si es que te imprima el valor del vector de la posicion "posicion" sería en ese caso a[posicion], utilizando el operador [] que es para eso.

Obviamente, suponiendo que tienes bien hecho tu el operador [] con la "trampa" para cambiar la posición según el indice mínimo que le tengas puesto.
#49
Me refiero, a que al principio de todo del programa haces esto:
    value = ((-b)+sqrt(b*b-4*a*c))/(2*a);
    value2 = ((-b)-sqrt(b*b-4*a*c))/(2*a);
    d = sqrt(value);
    e = sqrt(value2);     
    f = sqrt(b/a);
luego si, ya miras cuales eran negativos o no para imprimirlo. Hombre en este caso la función sqrt es bastante segura y ya tendrá en cuenta que si value o value2 son negativos, no tiene que hacer nada, pero aún así no está de más tenerlo en cuenta tu también.

Un saludo.
#50
Aún así un par de cosas.

El valor de 'd', 'e' y 'f' hay que tener cuidao al calcularlos. En este caso si 'value', value2' o 'a|b' son negativos, estarías intentando hacer la raíz cuadrada de un número negativo. Te recomiendo que lo calcules dentro de las comprobaciones, o le pongas una comprobación adicional.

También a la hora de programar te recomiendo tabular las cosas, porque da un poco de cosa ponerse a mirar ese tocho de código seguido. Lo mejor es que lo que esté dentro de un if lo tabules a la derecha, y así queda de forma escalonada y mucho más legible.

Y por último, intenta no utilizar la librería conio.h xD