Cita de: Wire3 en 22 Diciembre 2013, 00:32 AM
Buenas.
............................................
¿Alguien puede ayudarme porfavor? Gracias.
Yo uso Code::Blocks
Elige la de 96.8 MB.
Saluditos! ..... !!!!
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úCita de: Wire3 en 22 Diciembre 2013, 00:32 AM
Buenas.
............................................
¿Alguien puede ayudarme porfavor? Gracias.
Cita de: vangodp en 20 Diciembre 2013, 20:35 PM
con cual programa as compilado?Ya que se que no usas Dev XDD
Cita de: vangodp en 20 Diciembre 2013, 17:01 PM
ok! lo prometo que le echare un ojo. $_$
.......................................................................
Otra cosa seria hacer que si reconoce el camino no vuelva a tomar el camino equivocado, eso seria una pasada. XDD
..................................................................
Citar
Process returned 0 (0x0) execution time : 0.586 s
#include <stdio.h>
#define N 20
int main(void){
int i,aux;
aux=0;
for(i=0;i<=N;i++)
if(i%2==0)
aux=aux+i;
printf ("La suma de los pares de 1 a %d es %d",N,aux);
return 0;
}
Cita de: vangodp en 20 Diciembre 2013, 14:24 PM
¡Gracias por comentar, eres grande!
Cita de: vangodp en 20 Diciembre 2013, 14:24 PM
..................................................................
Lo del aleatorio no abro mano XDD. Si no, no seria una búsqueda es mas como una trampa saber el camino ¿no?
Se supone que no sabes el camino, y si llegas a un punto con 3 o mas elecciones¿Que harás, vas hacia el final?
...........................................
Citar
0 X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 X 0 X X X X X X X X X X X X X 0 0 0 <===aki retrocede y luego sube
0 X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0
Cita de: vangodp en 16 Diciembre 2013, 16:09 PM![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Cita de: vangodp en 16 Diciembre 2013, 16:09 PM
Eh mejorado un poco el código
Lo eh echo auto suficiente jaja
Este se busca la salida solo XD
Puedes cambiar el mapa a gusto.
Es algo ineficiente aun, lo estoy puliendo cosillas como cuando encuentra una calle sin salida, le tarda algo en volver al camino, pero lo encuentra.
Cita de: vangodp en 16 Diciembre 2013, 16:09 PM
Esta echo en dev cpp orwell
Pronto subo la 2.0 o mejor lo mejoren vosotros si quieren
Se debe de poner 0 en los bordes o puede ser bug
Citar
Movimientos = 168
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 I 2 X X X X X X X X X X X X X X X X X X X X X X X 0
0 X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0
0 X 0 X X X X X X X X X X X X X 0 0 0 0 0 0 0 0 0 X 0
0 X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0
0 X 0 X X X X X X X X X X X X X 0 0 0 2 2 2 2 2 2 X 0
0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 2 0 0 0 0 0 X 0
0 X 0 X X X X X X X X X X 0 0 X 0 0 0 0 0 0 0 0 0 X 0
0 X 0 X 0 0 0 0 0 0 0 0 X 0 0 X X X X X X X X X 0 X 0
0 X 0 X X X X X X X 0 0 X 0 0 0 0 0 0 0 0 0 0 X 0 X 0
0 X 0 0 0 0 0 0 0 X 0 0 X X X X X X X X X X X X 0 X 0
0 X X X X X X X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0
0 0 0 0 0 0 0 X 0 X 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 X 0
0 0 0 0 0 0 0 X X X 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 X 0
0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 2 2 2 2 2 2 2 2 2 X 0
0 2 2 2 2 2 2 2 2 2 2 2 2 0 0 2 0 0 0 0 0 0 0 0 0 X 0
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 0 X 0 X 0
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 X 0 X 0
0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 2 0 X 0 X 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 X X X X X 0
0 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 X 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X X X X X 0
0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 X X 0 0 F 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Presione una tecla para continuar . . .
Process returned 0 (0x0) execution time : 0.586 s
#include <stdio.h>
#include <stdlib.h>
void mostrar_b(int b[][27]);
void mostrar(char a[][28]);
int main (){
char a[24][28]={
"000000000000000000000000000",
"012222222222222222222222220",
"020200000000000000000000020",
"020222222222222200000000020",
"020200000000000000000000020",
"020222222222222200022222220",
"020000000000000200020000020",
"020222222222200200000000020",
"020200000000200222222222020",
"020222222200200000000002020",
"020000000200222222222222020",
"022222220200000000000000020",
"000000020200222222222222220",
"000000022200200000000000020",
"000000000000200222222222220",
"022222222222200200000000020",
"020000000000000222222202020",
"020000000000000200000202020",
"022222222222222200000202020",
"000000000000000200000222220",
"020222222222222222222200000",
"020000000000000000000222220",
"022222222222222222222220010",
"000000000000000000000000000"
};
int i,j,cont=0;
int b[24][27];
for( i=0;i<24;i++) {
for( j=0;j<27;j++) {
b[i][j]=(int)(a[i][j]-48);
if (b[i][j]==0)
b[i][j]=9;
}
}
i=1,j=1;
b[1][1]=3;
a[i][j]='I';
//mostrar_b(b);//activalo para ver como se rellena la matriz de numeros
mostrar (a);
system ("cls");
while (1){
//De los cuatro que rodean al b[i][j] tomo uno y comparo los otros tres
if (i+1<24 && b[i+1][j]>0 && b[i+1][j]<=b[i-1][j]
&& b[i+1][j]<=b[i][j-1] && b[i+1][j]<=b[i][j+1]){
a[i+1][j]='X'; // en esta condicion
if (b[i+1][j]==1){ //elijo hacua ABAJO si es menor o igual
a[i+1][j]='F'; //que los otros tres que rodean a b[i][j]
break;
}
b[i+1][j]++;
i++;
}
else if (j+1<27 && b[i][j+1]>0 && b[i][j+1]<=b[i][j-1]
&& b[i][j+1]<=b[i-1][j] && b[i][j+1]<=b[i+1][j]){
a[i][j+1]='X'; // en esta condicion
if (b[i][j+1]==1){ //elijo hacia la DERECHA si es menor o igual
a[i][j+1]='F'; //que los otros tres que rodean a b[i][j]
break;
}
b[i][j+1]++;
j++;
}
else if (i-1>=0 && b[i-1][j]>0 && b[i-1][j]<=b[i+1][j]
&& b[i-1][j]<=b[i][j-1] && b[i-1][j]<=b[i][j+1]){
a[i-1][j]='X'; // en esta condicion
if (b[i-1][j]==1){ //elijo hacia la ARRIBA si es menor o igual
a[i-1][j]='F'; //que los otros tres que rodean a b[i][j]
break;
}
b[i-1][j]++;
i--;
}
else if (j-1>0 && b[i][j-1]>0 && b[i][j-1]<=b[i][j+1]
&& b[i][j-1]<=b[i-1][j] && b[i][j-1]<=b[i+1][j]){
a[i][j-1]='X'; // en esta condicion
if (b[i][j-1]==1){ //elijo hacia la IZQUIERDA si es menor o igual
a[i][j-1]='F'; //que los otros tres que rodean a b[i][j]
break;
}
b[i][j-1]++;
if (j-1>0){
j--;
}
}
//mostrar_b( b);//activalo para ver como se rellena la matriz de numeros
cont++;//
}
printf ("\n\n\t\tMovimientos = %d\n\n",cont);
mostrar_b(b);//activalo para ver como queda al fimal la matriz de numeros
mostrar(a);
return 0;
}
void mostrar_b(int b[][27]){
system ("cls");
int i,j;
for( i=0;i<24;i++) {
for( j=0;j<27;j++) {
printf("%d ",b[i][j]);
fflush(stdout);
}
puts("");
}
system ("pause");
}
void mostrar(char a[][28]){
system ("cls");
int i,j;
for( i=0;i<24;i++) {
for( j=0;j<27;j++) {
printf("%c ",a[i][j]);
fflush(stdout);
}
puts("");
}
puts("");
system ("pause");
}
Cita de: ThronerAXE en 20 Diciembre 2013, 01:48 AM
osea que no se pueden ingresar cifras muy altas ? porque si por ejemplo, lo cambiara a tipo int o long y le ingreso un numero de 10 cifras sale un resultado loco