Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: adninc5 en 6 Agosto 2010, 05:07 am



Título: Ayuda con C++ ?
Publicado por: adninc5 en 6 Agosto 2010, 05:07 am
Hola! Tengo un problema con C. Tengo que hacer una especie de laberiento, con 1s y 0s. Puede pasar por los 1s, y tiene que decir cuantos 1s recorrio antes de toparse con un 0 (por el camino más largo).

No se me ocurre como hacerla. Ejemplo:
1 1 0 1 1 0
0 1 0 0 1 1
0 1 1 1 0 0
0 1 0 1 0 0
0 1 0 1 0 0

En lo anterior, recorrio 8 1s. Habia una idea de convertir asi:
1 2 3 4 5 6
2 3 4 5 6 7
3 4 5 6 7 8
Etc...

De manera que buscara por ejemplo, si estaba en el 1, todos los 2 (si los 2 valian 1) y asi siguiera. De momento solo tengo esto:

Código:
#include <stdio.h>

#include <conio.h>



main ()

{
int cuenta,i1[30];
clrscr();
printf("Ingresa los numeros en Filas (30):");
for (cuenta=0;cuenta<=29;cuenta++)
scanf("%d",&i1[cuenta]);
if (i1[0]==0)
printf("Error, el primer numero no puede ser 0");

}

Osea, practicamente nada. Lo podria hacer con muchisimos ifs, pero el hecho es tratar de hacerlo no muy largo.


Título: Re: Ayuda con C++ ?
Publicado por: Beakman en 12 Agosto 2010, 04:59 am
mas o menos entendi lo que queres je:)

por ejemplo
si el camino es asi

11100
00100
00100
00100
00111

el usuario tendria que ingresar
1, 2, 3, 8, 13, 18, 23, 24, 25

(creo que seria la forma mas facil)

entonces tendrias que hacer una matris de 5x5 (para el camino)
y despues de acuerdo a los numeros que va ingresando el usuario comprobar
si en ese lugar hay o no un 1.

Y obviamente validar que los numero que ingrese esten pegados.


Título: Re: Ayuda con C++ ?
Publicado por: Gallu en 12 Agosto 2010, 09:59 am
Esto te servirá ... :¬¬

EI: no se hacen tareas, por favor leer las reglas.


Título: Re: Ayuda con C++ ?
Publicado por: leogtz en 12 Agosto 2010, 18:51 pm
mas o menos entendi lo que queres je:)

por ejemplo
si el camino es asi

11100
00100
00100
00100
00111

el usuario tendria que ingresar
1, 2, 3, 8, 13, 18, 23, 24, 25

(creo que seria la forma mas facil)

entonces tendrias que hacer una matris de 5x5 (para el camino)
y despues de acuerdo a los numeros que va ingresando el usuario comprobar
si en ese lugar hay o no un 1.

Y obviamente validar que los numero que ingrese esten pegados.

El usuario no interviene aquí, es solo cálculo.


Título: Re: Ayuda con C++ ?
Publicado por: Beakman en 12 Agosto 2010, 19:37 pm
Citar
El usuario no interviene aquí, es solo cálculo.

osea el programa tiene que resolver el laberinto?

si es asi no tiene mucho sentido.

en que parte tendria que intervenir el usuario?'


Título: Re: Ayuda con C++ ?
Publicado por: leogtz en 12 Agosto 2010, 20:30 pm
Citar
El usuario no interviene aquí, es solo cálculo.

si es asi no tiene mucho sentido.


Claro que sí, llena la matriz aleatoriamente con unos y ceros y trata de resolver los caminos, verás qué diversión.


Título: Re: Ayuda con C++ ?
Publicado por: bizco en 12 Agosto 2010, 20:33 pm
no se pide intervencion del usuario, es mas el laberinto podria ser generado aleatoriamente. el tiene que hacer el algoritmo que de X laberinto generado sea capaz de resolver el problema como le piden.

Citar
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


Título: Re: Ayuda con C++ ?
Publicado por: Beakman en 13 Agosto 2010, 04:07 am
Citar
Claro que sí, llena la matriz aleatoriamente con unos y ceros y trata de resolver los caminos, verás qué diversión.

aaahh ok!

claro, entonces solo tiene que recorrer una matriz desde la posicion
  • hasta la  ultima posicion [5][5] (por decir un numero) y que valla guardando los lugares por los que pasa donde haya uno.....
no?