Ayuda con C++ ?

Iniciado por adninc5, 6 Agosto 2010, 05:07 AM

0 Miembros y 1 Visitante están viendo este tema.

adninc5

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.

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.

Gallu

#2
Esto te servirá ... :¬¬

EI: no se hacen tareas, por favor leer las reglas.
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

Cita de: qily 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.

El usuario no interviene aquí, es solo cálculo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Beakman

CitarEl 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?'

leogtz

Cita de: qily en 12 Agosto 2010, 19:37 PM
CitarEl 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.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

bizco

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.

Beakman

CitarClaro 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?