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

#781
Cita de: OmarHack en 15 Junio 2013, 15:20 PM
Aquí también tenéis el canal de un muy buen curso y muy bien explicado, es el que estoy mirando yo últimamente y por la cantidad de vídeos que tiene y lo currados que están se merece visitas y likes a tope!!! https://www.youtube.com/user/paueky/videos

Aquí están más jerarquizados:
http://minidosis.org/C++/
#782
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 15:11 PM
Cita de: 0xDani en 15 Junio 2013, 14:02 PM
A ver si esto te ayuda:

Código (cpp) [Seleccionar]

const char *arrays[] = {"a", "b", "c"};
const char *respuestas[] = {"a", "cualquier cosa", "mi gato se llama guantes"};

   do {
   
   cout << "Puede poner su letra:" << endl;
   
   cin >> string1;

   size_t i;
   bool found = false;
   for(i=0; i<(sizeof(arrays)/sizeof(arrays[0])); i++)
   {
     if(string1 == arrays[i])
     {
      found = true;
      break;
     }
   }

   if(found)
    cout << respuestas[i] << endl;
   else
    /* Aqui haces lo que quieras si no se encuentra nada */
   
   } while (string1 != "salir");
   return 0;

Para eso está la clase maps  :silbar:

Insisto en que te veas los videos OmarHack. Puedes hacer un map con todas las respuestas, el valor que te devuelva el map será otra cadena, un número o un puntero a una función.

¿Lo que quieres es implementar comandos no?
#783
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 12:55 PM
¿Por casualidad no estarás haciendo un diccionario no?

Si es así, te puede servir esto:
http://minidosis.org/C++/Maps/
#784
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 12:50 PM
Cita de: mr.blood en 15 Junio 2013, 12:49 PMEl compilador lo traduce de la misma forma, pero el goto no es una buena práctica de programación.
El goto tiene usos legítimos y válidos. Lo que es una mala práctica de programación es usarlo en exceso (o peor aún, usarlo para saltar entre funciones).
#785
¿C o C++?

En C++ tienes la clase vector que te permite eliminar elementos de un array:
http://www.cplusplus.com/reference/vector/vector/
#786
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 12:46 PM
Código (cpp) [Seleccionar]
if (string1 != "salir");
{goto Inicio;}


Eso es equivalente al while anterior (el compilador lo traduce de la misma forma).

Otra cosa es, que para comprobar una letra no deberías usar "cadenas".
#787
Cita de: xiruko en 14 Junio 2013, 23:26 PM
De hecho hay varias que son las más cortas. La que indicas es de 14 cuadrados, igual que por ejemplo, (2, 7) - (9, 7) - (9, 10) o (8, 2) - (8, 3) - (9, 3) - (9, 10), donde el primer número sería la fila y el segundo la columna.

Como primera aproximación, podrías intentar que el cuadrado rojo vaya alternativamente hacia la coordenada x e y del cuadrado azul. Es decir, primero intente ir hasta la coordenada x, si llega a la fila o columna donde está el azul o choca con algo que entonces intente ir hasta la y, si vuelve a chocar que vaya a la x, etc. y así hasta que llegue. En el ejemplo que pones, este algoritmo daría alguna de las soluciones que te he comentado arriba.

Igualmente es demasiado simple así que no le pidas mucho... Si por ejemplo llegaras a chocar y el cuadrado rojo estuviera rodeado por obstáculos, ahí te quedarías... O si chocas con algo mientras estás en la fila o columna donde está el cuadrado azul, te quedarías ahí también...

Pero bueno, igual te da alguna idea para poder empezar.

Saludos!
No me sirve, los obstaculos pueden estar dispuestos de cualquier forma... Prefiero un método genérico  :silbar:

Cita de: ecfisa en 15 Junio 2013, 00:54 AM
Hola amchacon.

Lo que buscas se resuelve mediante teoría de grafos, en este enlace tenes una explicación genérica: grafos.


Saludos.   :)

El algoritmo de busqueda en anchura es interesante   :)

Cita de: lapras en 15 Junio 2013, 01:47 AM
El algoritmo de dijkstra te podria servir. O algo adaptado.
Pero aquí las distancias son iguales... No sé si vale la pena *_*
#788
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 12:12 PM
Ese metodo es lento, puesto que tiene que hacer 28 comprobaciones cada vez. Otra cosa que también ayuda es usar char* y no string (los string usan memoria dinámica, eso hace que sean "un pelín" más lentos).

Intenta hacer las mínimas comprobaciones posibles:

Código (cpp) [Seleccionar]

int Contador = 0;
char Texto;
char Cadena[256];

do {

cout << "Puede poner su letra, introduza 0 para salir" << endl;
cin>>Texto;

if (Texto >= 'a' && Texto <= 'z')
{
   Cadena[Contador] = Texto;
   Contador++;
}

} while (Texto != '0');

Cadena[Contador] = '\0';

cout<<Cadena;


Aunque en un programa normal yo usaría string.
#789
Abres el archivo y escribes los 2 caracteres. Acto seguido cierras el archivo.
#790
Programación C/C++ / Obtener ruta más corta
12 Junio 2013, 23:22 PM
Me encuentro en un problema un poco elemental. A ver si alguien me puede dar alguna pista de como resolverlo.

Tenemos una cuadrícula tal que:



Ahí tenemos dos cuadrados pintados:



Partiendo del cuadrado rojo, tenemos que obtener una ruta para llegar al cuadrado azul (moviendose verticalmente/horizontalmente). Para complicar más la cosa ponemos algunos obstaculos aleatorios:



La ruta más corta sería:

(7,2)
(7,9)
(10,9)


¿Cómo podríamos implementar esto en C++?