Autor
|
Tema: Ayuda con C++ ? (Leído 3,306 veces)
|
adninc5
Desconectado
Mensajes: 68
Visita mi Web: http://cineadanruiz10.blogspot.com/
|
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: #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.
|
|
|
En línea
|
|
|
|
Beakman
|
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.
|
|
|
En línea
|
|
|
|
Gallu
Desconectado
Mensajes: 247
|
Esto te servirá ... EI: no se hacen tareas, por favor leer las reglas.
|
|
« Última modificación: 12 Agosto 2010, 10:40 am por Eternal Idol »
|
En línea
|
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
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.
|
|
|
En línea
|
|
|
|
Beakman
|
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?'
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
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.
|
|
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
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. Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
|
|
|
En línea
|
|
|
|
Beakman
|
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?
|
|
|
En línea
|
|
|
|
|
|