Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como generar palabras aleatorias (https://www.clubdelphi.com/foros/showthread.php?t=6439)

mmoreno 08-01-2004 15:45:02

como generar palabras aleatorias
 
hola
tengo un problema soy nuevo en esto de programacion un amigo hace tiempo me hablo de esta pagina y estos foros que son lo maximo por que los mejores salen de aqui, basta de alagos y a lo que vine

quiero generas palabras aleatorias pero no ten go la forma correcta lo que hice fue poner un una base de datos las letras y los numeros y signos que quieros usar para generar la palabras esto se me hace muy ineficiente porque toma mucho tiempo hacerlo ahi una forma de generar o funcion que genere palabras con una longitud contro lada para yo poder usarlo.

Gracias de antemano y si les puedo ayudar en linux me avisan que tengo mucha experiencia en esto.!!:confused:

marcoszorrilla 08-01-2004 15:49:21

Cuando dices signos que quieres decir:
ó à â .....

O es que lo que pretendes es generar frases con dichas palabras aleatorias.

Otra pregunta, sería estas palabras tienen que tener sentido, porque dadas las letras del alfabeto, que pueden hallarse en una matriz y la activación de los números aleatorios, lo más normal es que el 99% de las palabras formadas sean incoherentes para nuestro lenguaje?


Un Saludo.

marcoszorrilla 09-01-2004 00:02:53

He preparado este ejemplo, pero ya es un poco tarde y no lo retoco, necesitas un Listbox, según mis cáculos te pueda aguantar unas 30.000 palabras.

Código:

procedure TForm1.Button1Click(Sender: TObject);
var
MisLetras:string;
nAncho:Integer;
nIni:Integer;
nPal:Integer;
Mots:String;
nIndice:Integer;
begin
MisLetras:='abcdefghijklmnñopqrstuvwxyz-,_';
nAncho:=10;
Randomize;
  Mots:='';

  For nIni:=1 to 5000 do
  begin

    for nPal:=1 to nAncho do
    begin
    nIndice:=Random(Length(MisLetras));
        while nIndice = 0 do
        begin
        nIndice:=Random(Length(MisLetras));
        end;
    Mots:=Mots+MisLetras[nIndice];
    end;
    Listbox1.Items.Add(Mots);
 
    Mots:='';
  end;


ShowMessage(IntToStr(listbox1.items.count));

end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 22:41:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi