Tecnico en Plataformas Informaticas

Sitio para la ayuda del estudiante, soporte, programas, pedidos y todo lo relacionado con soporte en Pataformas Informaticas. Como tambien Anime, PS2 y otros tipos de gustos.
Indice­FAQ­Buscar­Miembros­Grupos de Usuarios­Registrarse­Conectarse
Clock
Contadores Gratis
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Afiliados de la Carrera

Amigos del Play 2

Anime


Mejores posteadores
Harry
 
koko
 
skrash
 
Elkenost
 
gonzalo
 
emanuel.flores
 
pollito
 
Job
 
neru2008
 
electghost
 
Noviembre 2009
LunMarMiérJueVieSábDom
      1
2345678
9101112131415
16171819202122
23242526272829
30      
CalendarioCalendario
Publicar nuevo tema   Responder al temaCompartir | 
 

 Tareas de programacion

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Elkenost
Moderador
Moderador


Mensajes: 21
Fecha de inscripción: 19/07/2008

MensajeTema: Tareas de programacion   Sáb 19 Jul 2008, 21:34

El laberinto

Bueno esta fue la ultima tarea q nos dieron........se llama el laberinto, la cual constaba de paredes representadas por 1 y el camino or 0 y al ir caminando los 2 se tenian q transformara en 2 si era el camino correcto o en 1 si era el incorrecto, bueno espero q les sea de utilidad...

aqui esta el link: http://rapidshare.com/files/130993672/laberinto_por_elkenost.c

aqui esta por si o lo desean descargar aunq yo recomiendo q lo descargen ya q se ve mas ordenado


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int lab[12][12]=
{ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1 },
{ 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 },
{ 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 },
{ 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1 },
{ 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1 },
{ 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1 },
{ 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1 },
{ 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1 },
{ 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
};

int posx=1;
int posy=1;

void mostrar();
void retroceder();
int verificar();
void recorrer();

main(){
int ok=0,i,j;

mostrar();
recorrer();
if (ok==0)
printf("\nLaberinto sin solucion\n");

mostrar();
printf("\n");
}

void mostrar(){
int i,j,k=257;

printf("\n");
for (i=0; i<12; i++) {
for (j=0; j<12; j++) {
if(lab[i][j]==3)
printf("%c ",k);
else
printf("%d ", lab[i][j]);
}
printf("\n");
}
}

void retroceder(){
lab[posx][posy]=1;
if(lab[posx-1][posy]==2){
posx--;
recorrer();
}
if(lab[posx][posy-1]==2){
posy--;
recorrer();
}
if(lab[posx][posy+1]==2){
posy++;
recorrer();
}
if(lab[posx+1][posy]==2){
posx++;
recorrer();
}
}

int verificar(){
if((posx==10)&&(posy==10)){
lab[posx][posy]=3;
return(2);
}
return(1);
}

void recorrer() {
int res;
if(lab[posx-1][posy]==0){
lab[posx][posy]=2;
posx--;
recorrer();
}
if(lab[posx][posy-1]==0){
lab[posx][posy]=2;
posy--;
recorrer();
}
if(lab[posx][posy+1]==0){
lab[posx][posy]=2;
posy++;
recorrer();
}
if(lab[posx+1][posy]==0){
lab[posx][posy]=2;
posx++;
recorrer();
}
res=verificar();
if(res==2){
printf("\nYou WIN!!!\n");
mostrar();
system("pause");
exit(0);
}
else
retroceder();

}

Bueno espero q les sea de utilidad

_________________




::::::::Watashi wa eru des:::::::
Volver arriba Ir abajo
Ver perfil de usuario
 

Tareas de programacion

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permiso de este foro:No puedes responder a temas en este foro.
Tecnico en Plataformas Informaticas :: Ramos :: 1º Semestre :: Estructuras De Programación-
Publicar nuevo tema   Responder al tema