La Web del Programador: Comunidad de Programadores
http://www.lawebdelprogramador.com/foros/C_Visual_C/593680-Sopa_de_letras_en_Turbo_C.html
Mensajes realizados anteriormente (No estaban la última vez que entraste)Sopa de letras en Turbo C++
Arnoldo (07/02/2006 02:57:11)
13.846 visitas
10 respuestas
Sopa de letras en Turbo C++
Gustavo Cortes Gomez (06/03/2006 02:55:51)
Sopa de letras en Turbo C
ANA LILIANA (22/06/2011 00:13:18)
RE:Sopa de letras en Turbo C++
JAVIER (12/12/2007 09:41:49)
RE:Sopa de letras en Turbo C++
German Suárez (06/02/2008 15:26:17)
Sopa de letras en Dev C++
edwin garcia (07/05/2008 22:04:23)
RE:Sopa de letras en C#
DAN (31/07/2008 23:46:56)
Sopa de letras - algoritmo para optimizar?
Jose (17/12/2009 17:56:22)
RE:Sopa de letras en C#
Axel (10/02/2010 06:16:39)
Sopa de letras en Turbo C++
aracelis (27/03/2014 03:37:48)
RE:Sopa de letras en Turbo C++
John Mejia (30/11/2010 15:57:39)
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Sopa de letras en Turbo C++

Autor:Arnoldo (1 intervención)
Fecha:07/02/2006 02:57:11
Saludos.

Les agradecería que me proporcionaran, ya sea un website, el algoritmo o el código de fuente de algún programa en C que arme una sopa de letras, y que se aproxime a algo como lo que a continuación necesito:

1. Que llene una matriz de 'n' renglones por 'c' columnas, cada celdilla con una letra al azar.
2. Que el usuario introduzca 'n' palabras de 'l' tamaño.
3. Que se acomoden las palabras en un sentido elegido por el usuario, que puede ser:
a) Diagonales
1) Ascendentes.
2) Descendentes.
b) Horizontales.
c) Verticales.
- Estos dos últimos pueden estar en sentido lateral o invertido.
4. Si las palabras no caben en un sentido determinado, informarlo al usuario.
5. Imprimir la sopa de letras.

No les pido que me hagan mi trabajo, lo que les pido en todo caso son ideas de cómo armar este programa, ya que apenas estoy conociendo el lenguaje de Turbo C++ y además lo tengo que hacer orientado a objetos, con clases, procedimientos y funciones.

Por cualquier ayuda dada a mi petición, estoy a sus órdenes.
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Sopa de letras en Turbo C++

Autor:Gustavo Cortes Gomez (1 intervención)
Fecha:06/03/2006 02:55:51
El problema que me planteas es un tanto tedioso de resolver pero,ya que se tiene que hacer una busqueda tanto por filas , columnas y combinacion de ambas para que se de una solucion.. te doy un pequeña solucion que es esta que hice:
1.- busca la palabra de izquierda a derecha (encaso de que este escrita haci)
2.-busca la palabra de derecha a izquierda(en caso de que este escrita al revez)
3.-busca la palabra de abajo hacia arriba
4.-busca la palabra de arriba hacia abajo
5.-TU TURNO DE PROGRAMAR CON LO YA HECHO TE TOCA HACER LA S DIAGONALES....SI TIENES DUDAS SOBRE COMO HACER ESTAS FALTANTES BUSCAME ,...EN MI DIRECCION DE CORREO ELECTRONICO

// Sopa.cpp por: GUSTAVO CORTES GOMEZ
// Siempre que encuentre la palabra la cambia de color (OK ¡¡¡¡ )
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <ctype.h>
#include <string.h>
void derecha(void);
void izquier(void);
void bajada(void);
void subida(void);
////////////// MIS VARIABLES GLOBALES /////////////////////
char sop[10][10]={'M','M','L','E','E','N','A','E','V','E',
'E','R','H','O','N','G','O','S','T','R',
'X','X','O','T','I','R','R','A','C','A',
'I','S','A','P','P','O','T','A','P','S',
'C','C','M','L','A','A','I','Z','O','T',
'O','A','A','U','A','N','U','L','P','U',
'S','O','M','B','R','E','R','O','M','P',
'C','N','E','A','R','R','I','I','O','O',
'W','O','J','E','N','O','C','P','Z','E',
'A','A','Z','A','A','L','N','Y','T','D'};
int a=0,b=0,suma=0,tot=0,acum=0,bsuma=0;
char can[20],vol[20],op;
////////////////////////////////////////////////////////////////
void main()
{
int f,c,i;
clrscr();
do
{
textbackground(BLACK);
textcolor(WHITE);//imprime mi sopa de letras
for(f=0;f<10;f++)
{
for(c=0;c<10;c++)
{
gotoxy((c+3)*2,(f+1)*2);cprintf("%c",sop[f][c]);
}
}
gotoxy(40,4);printf(" ");
gotoxy(33,7 );cprintf("HONGOS");
gotoxy(33,8 );cprintf("PLUMA");
gotoxy(33,9 );cprintf("SOMBRERO");
gotoxy(33,10);cprintf("TROMPO");
gotoxy(33,11);cprintf("LORENA");
gotoxy(33,12);cprintf("CONEJO");
gotoxy(33,13);cprintf("PATO");
gotoxy(35,15);cprintf("Cadena . ");
gotoxy(35,16);cprintf(" ");
gotoxy(35,16);cscanf("%s",&vol);
tot=strlen(vol);
for (i=0; i<tot; i++)
{
can[i] = toupper(vol[i]);
}
derecha();
textcolor(WHITE);
gotoxy(10,24);cprintf("Otra palabra ?(S/N) ");
gotoxy(10,25);scanf("%s",&op);
gotoxy(35,16);cprintf(" ");
gotoxy(10,25);cprintf(" ");
}while(op=='S'||op=='s');
}
void derecha(void)
{
int ci,cf,ff;
int pint;

a=0; textcolor(WHITE);
do//for(a=0;a<10;a++)
{

suma=0;
b=0;
do//for(b=0;b<10;b++)
{
if(sop[a][b]==can[suma])
{
suma=suma+1;
acum=acum+1;
if(acum==1){ci=b;}
}
else
{
acum=0;
}
if(acum==tot)
{ cf=b;ff=a;
break;
}
b++;
}while(b<10);
if(acum==tot)
{ cf=b;ff=a;
break;
}
a++;
}while(a<10);
////////////////////////////////////////////
if(acum==tot)
{
/* gotoxy(50,1);cprintf("columnaInici : %d",ci);
gotoxy(50,2);cprintf("columnaFinal : %d",cf);
gotoxy(50,3);cprintf("fila : %d",ff);*/
//gotoxy(40,2);cprintf("Si esta");
for(pint=ci;pint<=cf;pint++)
{
textcolor(RED);
gotoxy((pint+3)*2,(ff+1)*2);cprintf("%c",sop[ff][pint]);
}
}
else
{
izquier();
}
}
void izquier(void)
{
int ci,cf,ff;
int pint;
textcolor(WHITE);
a=0;
do
{
suma=0;
b=10;
do
{
if(sop[a][b]==can[suma])
{
suma=suma+1;
acum=acum+1;
if(acum==1){ci=b;}
}
else
{
acum=0; suma=0;
}
if(acum==tot)
{ cf=b;ff=a;
break;
}
b--;
}while(b>=0);
if(acum==tot)
{ cf=b;ff=a;
break;
}
a++;
}while(a<10);
////////////////////////////////////////////
if(acum==tot)
{
for(pint=ci;pint>=cf;pint--)
{
textcolor(GREEN);
gotoxy((pint+3)*2,(ff+1)*2);cprintf("%c",sop[ff][pint]);
}
//gotoxy(40,4);cprintf("Si esta");
}
else
{
bajada();
}
}
void bajada(void)
{
int ci,cf,ff;
int pint;
textcolor(WHITE);
a=0;
do
{
suma=0;
b=0;
do
{
if(sop[b][a]==can[suma])
{
suma=suma+1; acum=acum+1;
if(acum==1){ci=b;}
}
else
{
acum=0;
}
if(acum==tot)
{
cf=b;ff=a;
break;
}
b++;
}while(b<10);
if(acum==tot)
{ cf=b;ff=a;
break;
}
a++;
}while(a<10);
////////////////////////////////////////////
if(acum==tot)
{
for(pint=ci;pint<=cf;pint++)
{
textcolor(BLUE);
gotoxy((ff+3)*2,(pint+1)*2);cprintf("%c",sop[pint][ff]);
}
//gotoxy(40,3);printf("Si esta");
}
else
{
subida();
}
}
void subida(void)
{
int ci,cf,ff;
int pint;
textcolor(WHITE);
a=0;
do{
suma=0;
b=10;
do
{
if(sop[b][a]==can[suma])
{
suma=suma+1; acum=acum+1;
if(acum==1){ci=b;}
}
else
{
acum=0; suma=0;
}
if(acum==tot)
{ cf=b;ff=a;
break;
}
b--;
}while(b>=0);
if(acum==tot)
{ cf=b;ff=a;
break;
}
a++;
}while(a<10);
if(acum==tot)
{

for(pint=ci;pint>=cf;pint--)
{
textcolor(YELLOW);
gotoxy((ff+3)*2,(pint+1)*2);cprintf("%c",sop[pint][ff]);
}
// gotoxy(40,4);printf("Si esta");
}
else
{
gotoxy(40,4);printf("No se encuentra");

}
}
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Sopa de letras en Turbo C

Autor:ANA LILIANA (1 intervención)
Fecha:22/06/2011 00:13:18
oyes quiero saber es q corre pero como funciona q es lo q tengo q apretar para q salga la repuesta corecta
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Sopa de letras en Turbo C++

Autor:JAVIER (1 intervención)
Fecha:12/12/2007 09:41:49
A MODO DE SUGERENCIA, USANDO UN FOR Y UN SWITCH SE PUEDE VARIAR LA MATRIZ.
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Sopa de letras en Turbo C++

Autor:German Suárez (1 intervención)
Fecha:06/02/2008 15:26:17
Realiza el algoritmo siguiente y prueba

1.-tomar palabra
2.-generar dos números aleatorios ( coordenadas para situar la palabra)
3.-generar un número aleatorio ( para determinar la dirección)
4.-situar cada letra, pero comprobando que no hay nada debajo o que la letra es igual a la que se pretende colocar
5- si se sale de la matriz volver al punto 3, si falla con todas las direcciones, volver al punto 2
6.-Si falla, entonces se repite el proceso ( desde el punto 2).
7.- Si todo va bien vuelta al punto 1 hasta que se acaben las palabras.
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Sopa de letras en Dev C++

Autor:edwin garcia (1 intervención)
Fecha:07/05/2008 22:04:23
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
char sopa[5][5];
char letra[5];

for(int fil=0; fil <5; fil++){
for(int col=0; col<5; col++){
sopa[fil][col]=getchar();
}
cout<<endl;
}
cout<<"digite palabra: ";
cin>>letra;
for(int fil=0; fil <5; fil++){
for(int col=0; col<5; col++){
if (letra[0]==sopa[fil][col]){
cout<<"fil: "<<fil<<"col: "<<col<<endl;
}
}
cout<<" "<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Sopa de letras en C#

Autor:DAN (1 intervención)
Fecha:31/07/2008 23:46:56
por favor no kiero ke hagan mi trabajpo solo kiero ke me den una idea para poder ubicar las palabras ya tengo casi listo mi algoritmo solo me falta ese punto por favor mañana necesito entregar mi trabajo ok
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Sopa de letras - algoritmo para optimizar?

Autor:Jose (1 intervención)
Fecha:17/12/2009 17:56:22
Url:
Perdonen que resucite este viejo hilo.
Veo que sólo colocan una palabra al azar, procurando que esté en una posición válida.
¿Hay alguna manera de optimizar la sopa de letras, de manera que haga caber todas las palabras cruzándolas si es necesario?
Gracias.
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Sopa de letras en C#

Autor:Axel (1 intervención)
Fecha:10/02/2010 06:16:39
me podrian dar el codigo para la sopa de letras?
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Sopa de letras en Turbo C++

Autor:aracelis yaracelis08@gmail.com (1 intervención)
Fecha:27/03/2014 03:37:48
hola en verdad necesito un codigo km ese.. es maravilloso..pero en c.. es k estoy fulll tanto en trabajo y estudios y no m ha dado chance de hacerlo.. agradecida si m pueden ayudar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Sopa de letras en Turbo C++

Autor:John Mejia (1 intervención)
Fecha:30/11/2010 15:57:39
hola compañero, tengo que hacer una sopa con las mismas caracteristicas que esa! agradeceria mucho si pudieras enviar el codigo al correo jjmejiaud@hotmail.com puesto que estoy tan cargado de materias q no he podido hacerla! te lo agradeceria mucho !