Autor
|
Tema: Ayuda con programa urgente! (Leído 27,007 veces)
|
vangodp
Desconectado
Mensajes: 455
|
con cual programa as compilado?Ya que se que no usas Dev XDD
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
con cual programa as compilado?Ya que se que no usas Dev XDD
Code::Blocks Y una imagen de prueba de que furula bien:Saluditos! ..... !!!!
|
|
« Última modificación: 22 Diciembre 2013, 16:00 pm por leosansan »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Perdonen que reviva el tema, pero la aportación es diferente.
Por un lado un código que no resuelve directamente el laberinto, pero permitir "ver" los caminos de salida al estar el laberinto "coloreado". Como ejemplo, a mi nietillo le encanta buscar las soluciones y como es muy fácil cambiar el laberinto, cada vez que quiere jugar tiene un laberinto diferente.
Y de muestra un pantallazo:Sí ya lo sé, no resuelve nada pero permite a simple vista localizar los caminos de salida. Es como un juego, repito.#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> void mostrar(char a[][28],char *msg); void color (int n) int main (){ char a[24][28]={ "000000000000000000000000000", "012222222222222222222222220", "022020200020002000000000020", "022202022020202000000000020", "020000000020202000000000020", "020222220020220200022222220", "022000000000000200020000020", "022222222222200200020000020", "022200000000200222222222000", "022222222200200000020002020", "022200000020222222222222220", "022222222200200000000000020", "020000000000222222222222220", "022000022200200000000000020", "020000000000200222222222220", "022222222222222200000000020", "020000000000000222222202020", "020000000000000200000202020", "022222222222222200000202020", "000002000000000200002222220", "020222222222222222222200000", "020000000000000000000222220", "022222222222222222222220010", "000000000000000000000000000" }; mostrar(a,"LABERINTO"); return 0; } void mostrar(char a[][28],char *msg){ system ("cls"); int i,j; for( i=0;i<24;i++) { for( j=0;j<27;j++) { if ((i==22 && j==25) ||(i==1 && j==1)) color(215); else if (a[i][j]=='X') color(125); else if (a[i][j]=='0') color(175); else color(7); printf("%c ",a[i][j]); fflush(stdout); } putchar('\n'); } color(7); printf ("\n\t\t%s\n\n",msg); system ("pause"); } void color (int n) { SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE), n ); }
Y a la espera de que vangodp saque su versión 2.0, la 1.0 no furula ni pá dios, dejo una opción muy simple. Se trata de que de forma totalmente aleatoria el ordenador busque la salida .... y siempre la encuentra y mas de una combinación posible en general. Tiene el inconveniente de que muestra todos los movimientos, incluso los de retroceso. Pero en fin, si vangodp no veo que se anime me pondré yo a ello.
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> void mostrar(char a[][27],char *msg); void color (int n); int main (){ char a[24][27]={ "000000000000000000000000000", "012222222222222222222222220", "022020200020002000000000020", "022202022020202000000000020", "020000000020202000000000020", "020222220020220200022222220", "022000000000000200020000020", "022222222222200200020000020", "022200000000200222222222000", "022222222200200000020002020", "022200000020222222222222220", "022222222200200000000000020", "020000000000222222222222220", "022000022200200000000000020", "020000000000200222222222220", "022222222222222200000000020", "020000000000000222222202020", "020000000000000200000202020", "022222222222222200000202020", "000002000000000200002222220", "020222222222222222222200000", "020000000000000000000222220", "022222222222222222222220010", "000000000000000000000000000" }; int i,j,incre_i,incre_j; i=1,j=1; a[1][1]='I'; a[22][25]='F'; srand((unsigned) time(NULL)); mostrar(a,"LABERINTO"); system ("cls"); while (i!=21 || j!=25){ incre_i=rand()%3; if (incre_i==2) incre_i=-1; incre_j=rand()%3; if (incre_j==2) incre_j=-1; if ((incre_i==0 || incre_j==0) && (incre_i!=incre_j) && (incre_i!=-incre_j)){ i+=incre_i; if (i<0) i++; j+=incre_j; if (j<0) j++; if (i>22) i--; if (j>25) j--; if (a[i][j]=='2' || a[i][j]=='X' || a[i][j]=='I') { a[i][j]='X'; } else { i-=incre_i; j-=incre_j; } } } mostrar(a,"SOLUCION"); return 0; } void mostrar(char a[][27],char *msg){ int i,j; system ("cls"); for( i=0;i<24;i++) { for( j=0;j<27;j++) { if ((i==22 && j==25) ||(i==1 && j==1)) color(215); else if (a[i][j]=='X') color(125); else if (a[i][j]=='0') color(175); else color(7); printf("%c ",a[i][j]); fflush(stdout); } putchar('\n'); } color(7); printf ("\n\t\t%s\n\n",msg); system ("pause"); } void color (int n) { SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE), n ); }
Cada vez que ejecutas el programa la solución puede variar al ser los movimientos totalmente aleatorios.¡¡¡¡ Saluditos! ..... !!!! REEDITADO
|
|
« Última modificación: 2 Enero 2014, 14:50 pm por leosansan »
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
Muy buena , promesa es deuda. jeje Ya tendrás noticias mías C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp||In function 'int main()':| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|36|error: initializer-string for array of chars is too long [-fpermissive]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|42|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]| C:\Documents and Settings\joe mismow\Escritorio\mapaleosansancolor.cpp|71|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]| ||=== Build finished: 24 errors, 2 warnings (0 minutes, 1 seconds) ===|
A ver que me dices XDD en la foto se ve bien
|
|
« Última modificación: 30 Diciembre 2013, 02:25 am por vangodp »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Muy buena , promesa es deuda. jeje Ya tendrás noticias mías ............................................................................... A ver que me dices XDD en la foto se ve bien LO he intentado compilar en DevC aver que tal y casi me da un sofocón: 36 C:\Dev-Cpp\SinNombre1.cpp initializer-string for array of chars is too long ....................................................................
Y así un motón de líneas. Pero claro, no me fije que por defecto el "programilla" lo guarda con extensión .cpp por defecto. Así que volví a guardarlo con extensión .c y ¡boommmm!, corre sin pronlemas ni advertencias:Ya sabía que te daría problemas por el dichosito Dev.C++. Te reitero mi sugerencia de trabajar mejor con Code::Blocks
Elige la de 96.8 MB, la codeblocks-13.12mingw-setup-TDM-GCC-481.exe. Mira mi salida en Code::Blocks, y eso con el compilador en modo pedantic o Wall que canta a la más mínima::............................................................... Process terminated with status 0 (0 minutes, 0 seconds) 0 errors, 0 warnings (0 minutes, 0 seconds) .....................................
Ya me cuentas como te ha ido.¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 30 Diciembre 2013, 12:23 pm por leosansan »
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
no me diga que ha sido dev que los avisos que te puse es de un codeblocks El dev solo lo confirma. No eches la culpa a la herramienta sino al carpintero jeje Que opciones tienes en tu ide. Algo afecta, la cosa es que lo uso por defecto y me tira esos errores tanto en uno como en otro. el problema se da en la declaración del mapa casi siempre[y] - parece que si ponemos el numero justo de casas que vamos usar se buguea.
Me parece que no debemos usar la ultima posición de ese arreglo en ambos sentidos, tanto en x como en y. Si alguien lo sabe a que se deve, puede que sea el guwin, tu usas el 7 y yo el xp puede que eso influya. Te repito que hago lo que tu en dev, no le eches la culpa al pobre por no ser como una navaja Suiza.XDDD Ademas pega el código aquí que fotos no quiero ver XDD Saludos!^^
|
|
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
Eh echo lo que me dices de grardarlo como c. Y tachan funciona muy bien. Se ve colorines muy monos. Pero me gusta que vayamos viendo como se lo monta. Lo que no quita el merito, muy muy bueno si señor. Lo que creo que pasa es que lo estaba guardando lo tuyo como cpp y tu lo mio como c. Uno usa gcc y el otro g++. Creo que ahora ya lo sabemos
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
.............................. Ademas pega el código aquí que fotos no quiero ver XDD Saludos!^^
Pero si ya lo había puesto. Ahí va otra vez el código del laberinto con color:#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> void mostrar(char a[][28],char *msg); void color (int n); int main (){ char a[24][28]={ "000000000000000000000000000", "012222222222222222222222220", "022020200020002000000000020", "022202022020202000000000020", "020000000020202000000000020", "020222220020220200022222220", "022000000000000200020000020", "022222222222200200020000020", "022200000000200222222222000", "022222222200200000020002020", "022200000020222222222222220", "022222222200200000000000020", "020000000000222222222222220", "022000022200200000000000020", "020000000000200222222222220", "022222222222222200000000020", "020000000000000222222202020", "020000000000000200000202020", "022222222222222200000202020", "000002000000000200002222220", "020222222222222222222200000", "020000000000000000000222220", "022222222222222222222220010", "000000000000000000000000000" }; mostrar(a,"LABERINTO"); return 0; } void mostrar(char a[][28],char *msg){ system ("cls"); int i,j; for( i=0;i<24;i++) { for( j=0;j<27;j++) { if ((i==22 && j==25) ||(i==1 && j==1)) color(215); else if (a[i][j]=='X') color(125); else if (a[i][j]=='0') color(175); else color(7); printf("%c ",a[i][j]); fflush(stdout); } putchar('\n'); } color(7); printf ("\n\t\t%s\n\n",msg); system ("pause"); } void color (int n) { SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE), n ); }
Ya me contaras que te parece.
Y el tuyo ni en .cpp me tira. ¡¡¡¡ Saluditos! ..... !!!! P.D:Me has liado con eso de que no había puesto el código. O estoy muy espeso, que también.Saluditos! ..... !!!!
|
|
« Última modificación: 30 Diciembre 2013, 15:40 pm por leosansan »
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
a ver si te voy a tener que grabar un video XD
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
A mí tampoco me va leo. ¿No tendrás activado el fpermissive?
El error se debe a que has declarado una matriz de 27 elementos por columna, tu le has puesto 27 elementos +caracter nulo.
|
|
« Última modificación: 30 Diciembre 2013, 14:18 pm por amchacon »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
AYUDA CON PROGRAMA EN PASCAL, ES UN URGENTE
Ejercicios
|
juanf03
|
0
|
3,755
|
15 Noviembre 2006, 01:25 am
por juanf03
|
|
|
Programa perdido y ayuda urgente
Dudas Generales
|
Diaf96
|
6
|
3,546
|
24 Abril 2011, 21:33 pm
por Diaf96
|
|
|
PROGRAMA EN PYTHON AYUDA URGENTE
Scripting
|
viki_297
|
1
|
3,218
|
15 Junio 2012, 03:22 am
por criskapunk
|
|
|
AYUDA URGENTE CON UN PROGRAMA C++
Programación C/C++
|
Ruth_cu
|
1
|
2,034
|
12 Enero 2015, 04:16 am
por MCKSys Argentina
|
|
|
Ayuda urgente pls | Busco un programa con el que ganar siempre
Programación General
|
!BART
|
0
|
2,440
|
1 Marzo 2021, 23:55 pm
por !BART
|
|