elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 [110] 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
1091  Programación / Programación C/C++ / Re: [Opinión] Interesante manera de usar char* con cout en: 23 Julio 2013, 15:10 pm
Es simple...

Código
  1. void something(char *text){
  2.    cout << *text;
  3. }

*text es de tipo char... luego cout solo te imprime un carácter.

Código
  1. void something(char **text){
  2.    cout << *text;
  3. }

*text es de tipo puntero a char... o cadena de caracteres... en este caso vuelca caracteres hasta que se encuentra con el primer nulo.

Código
  1. void something(char *text){
  2.    cout << text;
  3. }

Esta última versión es similar a la anterior sin punteros dobles... y por tanto más usable y manejable.
1092  Programación / Programación C/C++ / Re: Ayuda 1pregunta en C/C++ en: 23 Julio 2013, 10:56 am
cuando tu haces

Código
  1. #include <stdio.h>
  2.  
  3. int funcion2()
  4. {
  5.    return 5;
  6. }
  7.  
  8. int funcion1()
  9. {
  10.   return funcion2();
  11. }
  12.  
  13. int main(void)
  14. {
  15.    printf("%d \n",funcion1() );
  16.  
  17.   getchar();
  18.   return 0;
  19. }

Lo que estás haciendo, realmente, es lo siguiente:

* Has creado una función "funcion2", que lo único que hace es devolver el resultado que a su vez le proporciona otra funcion "funcion1".

* Dado que funcion1 siempre va a devolver un 5, funcion2 va a devolver ese mismo 5.

* El printf del main va a sacar por pantalla el valor devuelto por funcion2... es decir, un 5.

Cuando tu haces lo siguiente:

Código
  1. int funcion2( )
  2. {
  3.  return funcion1( );
  4. }

No estás devolviendo una función... sino el resultado de esa función.

De hecho, lo que has puesto es equivalente a:

Código
  1. int funcion2( )
  2. {
  3.  int resultado = funcion1( );
  4.  return resultado;
  5. }

Es decir, tu no devuelves funciones. Más bien estás llamando a una función determinada ( funcion1 ) y estás almacenando el resultado que te devuelve.
1093  Programación / ASM / Re: Comandos puertos I/O en: 23 Julio 2013, 09:11 am
Ya e leido el datasheet de mi tarjeta, una imagen del chip con los pins enumerados, y al lado su simbolo, despues hay tablas con los pins su simbolo y la descripcion.

Y no dice nada de las operaciones de lectura / escritura sobre la tarjeta ??

si no es así ya te digo yo que el datasheet que tienes o no está completo o tiene que haber otro por con esa parte de la documentación.

Es como si el datasheet de una USART no te dijese cual es la forma de enviar y/o recibir información.
1094  Programación / Programación General / Re: Ayuda con programacion en: 23 Julio 2013, 08:48 am
El formato de las ventanas no depende del lenguaje utilizado.

Cada framework de ventanas tiene un diseño propio. Algunos frameworks hacen uso de los estilos que vienen predefinidos por el sistema operativo, lo que permite que todas las aplicaciones tiendan a verse iguales en un mismo sistema operativo... algunos frameworks son ( todos ellos gratuitos ): Qt, wxwidgets, api de windows, gtk

Para hacer juegos deberías usar algún lenguaje de bajo nivel, tipo c, c++, en líneas generales son los más empleados... por algo será. También tendrás que hacer uso de alguna capa gráfica... opengl, directx, allegro, ... pero ese tema daría para crear otro hilo.

1095  Programación / Programación C/C++ / Re: Ayuda con arboles binarios en c++ en: 22 Julio 2013, 22:25 pm
Sabes cómo funcionan los árboles binarios?

Si la respuesta es sí, sabes que cada nodo tiene un valor... los nodos de la izquierda tienen un valor inferior y los de la derecha un valor mayor.

Con esta idea fácilmente puedes adivinar que, tomando como referencia los 3 últimos nodos de la izquierda, puedes tener 3 escenarios diferentes:

     A                 A                 A
    /                  / \                  \
   B                 B  C                 C

En el 1er caso, tenemos que el nodo A tiene un valor X y, por fuerza, el nodo B tiene un valor necesariamente menor, luego en este caso el valor buscado sería A.

En el 2º caso, A tiene un valor X, B es menor y C es el mayor de los 3... el valor buscado es el del nodo A.

En el 3er caso, A tiene un valor inferior al B... el valor buscado es el del nodo B.

Con esta información, una opción sería diseñar un algoritmo que recorra la rama izquierda de cada nodo, empezando por el raiz. Una vez localizado el último grupo de nodos... mirar a ver si es del tipo 1, 2 o 3 y devolver el resultado correspondiente.

Otra opción podría ser recorrer todo el árbol y almacenar los dos números más pequeños que te encuentres... con eso tendrías el número más pequeño y, el buscado, el segundo más pequeño.

Para el caso del segundo mayor la lógica a implementar sería similar. Ya es gusto del programador ( es decir, tu decisión ), elegir la opción que crea más adecuada.

Un saludo.
1096  Programación / Programación C/C++ / Re: Constructores de conversión y casteos. en: 22 Julio 2013, 22:18 pm
dynamic_cast hace chequeos que verifican que, efectivamente, se puede hacer el cast a la clase destino. Esto solo es posible cuando la instancia apuntada es de la clase destino o de alguna clase hija... en caso contrario, el cast retornará un puntero nulo.

static_cast símplemente comprueba que el cast (a pelo) es válido. Es un chequeo muucho más sencillo que el dinámico y, por ello, más propenso a errores... por ejemplo que te deje hacer lo que estabas comentando.

Está claro que si tu tienes una superclase A... creas una instancia de esta clase y luego intentas hacer un cast a su subclase B... los miembros de esta subclase no pueden estar bien. En primer lugar porque en c++, a diferencia de en java, los miembros no se inicializan por defecto.

El constructor de A sólo sabe inicializar la parte que es propia de A... pero no sabe nada de la parte de B... luego esa parte siempre va a quedar con valores aleatorios.

Tu piensa que en el fondo, una clase no deja de ser x bytes en memoria y una serie de funciones que hacen uso de posiciones específicas de esa memoria... el concepto de clase solo tiene sentido para tí... la máquina no entiende de eso.
1097  Programación / Programación C/C++ / Re: Constructores de conversión y casteos. en: 22 Julio 2013, 17:02 pm
Para poder hacer un cast a una subclase y que el cast sea correcto, la instancia afectada tiene que ser, necesariamente, de la subclase.

Me explico:

Código
  1. Class A
  2. { };
  3.  
  4. Class B : public A
  5. { };
  6.  
  7. int main ( ... )
  8. {
  9.  A* puntero1 = new A( );
  10.  A* puntero2 = new B( );
  11.  
  12.  // este caso retornará 0 porque puntero1 no es de la subclase B
  13.  B* clase_b1 = dynamic_cast< B* >( puntero1 );
  14.  
  15.  // este caso retornará un puntero válido
  16.  B* clase_b2 = dynamic_cast< B* >( puntero2 );
  17. }

Luego, dado que para que el cast funcione correctamente, la instancia original ha de ser de la subclase ( o de una subclase de la subclase ), necesariamente has tenido que crear una instancia de la subclase y, al hacer esa creación, se han tenido que inicializar necesariamente todos los miembros de la clase.

Si esto no es así es porque se te ha olvidado inicializar algo en el constructor.
1098  Foros Generales / Foro Libre / Re: Cual es la mejor forma de ganar dinero en internet? en: 22 Julio 2013, 15:21 pm
Gracias por tu respuesta alguien a oído hablar de Just for $5 (solo por $5) es una forma de ganar dinero por internet aunque no necesariamente todo se hace por internet hace algunos dias me hablaron de esto y me parecio interesante se lo propuse a barias persona pero eran demasiado desconfiadas o no entendieron y ni respuesta me dieron
Just for $5  se trata de armar una red como de telaraña si no estoy mal hay 8 niveles cuando ingresa al primer nivel pagas $5 pero tienes que invitar a cinco personas mas y esas 5 personas te tienen que pagar $5 cada una y cada una de esas 5 personas también tienen que invitar a 5 personas que cada una tambien les ba a pagar $5 cada una y haci sucesivamente para subir al segundo nivel hay que pagar si no estoy mal $10 cuando ya subes al segundo nivel los que estan abajo de ti y quieren subir al segundo nivel te pagan $10 cada uno y ya tienes dinero para subir al tercer nivel donde ya se paga un poquito mas pero recibes mas y haci sucesivamente

Quisiera sus puntos de vista de esta idea no tengo la información detallada pero si alguien quiere saber mas le paso la información detallada 

Este es el típico timo piramidal...
1099  Foros Generales / Dudas Generales / Re: ¿Como se hace en excel lo siguiente? en: 22 Julio 2013, 15:19 pm
En el momento en el que quieras poner barcos de forma aleatoria (simulando un jugador de IA), por ejemplo, necesitarás tirar de vb.

En el momento en el que quieras que tu IA tome decisiones sobre la siguiente casilla a bombardear necesitarás vb.

...

Al final tendrás que usar vb para poder llevar tu juego a buen término.

No olvides que con las fórmulas de Excel no puedes tener referencias circulares... y dado que al final elegir una casilla u otra dependerá del estado del resto de celdas... te resulta en una referencia circular tras otra.
1100  Programación / Programación C/C++ / Re: [C++] Portabilidad GUI en: 22 Julio 2013, 15:08 pm
Citar
Additional features for Qt Enterprise
- Scenegraph Analyzer: To optimize painting step time for each frame
- Pixmap Cache: To identify bad performance due to image loading

Citar
Additional features for Qt Enterprise
Qt Quick2 Application project wizard for creating projects that can contain both QML and C++ code
Keyword highlighting for QML files in the Visual Studio code editor
Preview of Qt Quick 2 applications directly from Visual Studio (QMLviewer launcher)

Citar
Additional Features for Qt Enterprise
Dynamic Property Editor: Edit properties inside the Qt Quick Designer using drop-down menus
Connection Editor: Create connections on the fly
Binding Editor: Define and edit bindings inside property management
PathView Editor: Dedicated Spline editor to create and modify a PathView
In-place modification: Quick access to color, gradient editors as well as in-built label editing

En este caso se refieren a mejoras en el IDE de la versión de pago ... lo cierto es que aún no he dado el salto completo a Qt5, por lo que no puedo asegurar que pase lo mismo con las librerías, pero cuando Qt era de Nokia estas cosas no pasaban.
Páginas: 1 ... 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 [110] 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines