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 - El_Java

#11
GNU/Linux / Problemas con el linker
2 Julio 2012, 17:25 PM
Hola a todos.
He estado instalando las librerias Ogre3D y todas las inmensas dependencias que tiene esta librería gráfica, al final del proceso traté de compilar un código de prueba y no he podido. El problema está en el linker ya que me da diversos errores del tipo "Undefined reference to...".
No es la primera vez que tengo problemas con el linker, así que lo que hice fue añadir la ruta de las librerias al linker para que las encontrase, lo hice con las de Ogre (que había instalado directamente desde el codigo fuente). Pero luego también tuve que hacerlo con la libreria OIS (la cual había instalado mediante los repositorios de Ubuntu, ya sabeis: sudo apt-get install ___), y eso ya me empezó a mosquear. Ahora me dice que el linker tampoco encuentra las librerias de X11 y ya empiezo a pensar que el problema puede estar en el linker, porque no son normales tantos problemas....

¿Alguna idea?

Un saludo
#12
Es un problema simple de recursividad, no es necesario hacer lo que dice noele1995, sería una función del tipo:

void func (string s = ""){
  si (tamaño(s) es igual a numero_digitos) mostrar y fin;
  llamar: func(s+"4");
  llamar: func(s+"7");
 
  fin;
}


Yo ya la he hecho y me ha ocupado 3 lineas la función. Te lo escribo en pseudo-código para no hacerte el trabajo al 100%.

EDITO: Para casos grandes es ineficiente, no creo que lo haga en 8 segundos... (aunque siempre puedes precalcular)

Un saludo!
#13
Programación C/C++ / Re: Pares e impares
2 Marzo 2012, 18:44 PM
Citar(Aunque no se como se podria hacer que detecte si el numero es decimal o no.)
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main(){
   double a = 2.5, b = 3;

   if((double)((int)a) != a) cout << "No es entero" << endl;
   else cout << "Es entero" << endl;

   if((double)((int)b) != b) cout << "No es entero" << endl;
   else cout << "Es entero" << endl;

   return 0;
}


No es entero
Es entero
#14
No estoy del todo seguro, pero el segmentation fault ocurre cuando el CPU intenta acceder a una zona de memoria físicamente imposible a la que acceder, en el caso de tu código lo que ocurre es un overflow, eso significa que zonas de memoria que no pertencen al array han sido rellenadas con el valor de este array.

puedes verlo en este codigo:
Código (cpp) [Seleccionar]
#include <iostream>

int main(){
    int arr1[3];
    int arr2[3];

    for(int a=0; a<6; a++) arr1[a] = a;

    cout << "arr1" << endl;
    for(int a=0; a<3; a++) cout << arr1[a] << endl;
    cout << "arr2" << endl;
    for(int a=0; a<3; a++) cout << arr2[a] << endl;

    return 0;
}


Salida:
arr1
0
1
2
arr2
3
4
5


Espero que te sirva. :D
SALUDOS!
#15
Venga, una pista, si sabes distintos sistemas de numeración deberías saber hacerlo y te sentirás tonto por no haber caido antes cuando lo sepas ;)

#16
No puedo aportar mucho de forma técnica, pero me consta que el creador del protocolo p2p, Bran Cohen, está trabajando para adaptar este protocolo al streaming, el servicio se llama BitTorrent live y por ahora creo que está en fase beta y es necesario descargarse un archivo para reproducir los videos (solo está disponible en Linux).
Aqui teneis la pagina: http://live.bittorrent.com/
#17
Tambien puedes declarar que Clase 2 es amiga de Clase 1:
Código (cpp) [Seleccionar]
class Clase1{
public:
   Clase1();
   ~Clase1();
   friend class Clase2;
private:
   int privada;
};

class Clase2{ //Esta clase puede ver los elementos privados de Clase1
...
};


More info here: http://c.conclase.net/curso/?cap=032
#18
Yo uso el SPE (Stani's Python Editor) para linux y estoy encantado  ;)
#19
Scripting / Re: maximo de 5 numeros (PYTHON)
22 Enero 2012, 20:06 PM
¿Y no es más sencillo poner algo de este estilo?
Código (python) [Seleccionar]
print max(map(int, raw_input("Ingresa 5 numeros en la misma linea:\n").split()))

Un saludo!
#20
Yo lo hice hace algun tiempo en C++, y el proceso que usé fue más o menos este:
------
vector<vector<char> > mapa, copia; //son dos matrices de chars, pero usando la STL
Entrada de datos // lees el mapa
copia = mapa
Procesamiento:

  • bucle for para recorrer el numero de instantes:
  • dos bucles for recorriendo el mapa
  •   si se cumple las condiciones hacer los cambios sobre copia
  • mapa = copia
Fin procesamiento.
Salida. //muestras el mapa
---
Espero que lo puedas entender.

PD: En que universidad estás estudiando?