Programa C ++ que usa gerador de números aleatórios para criar frases?

2 respostas

  • lo_tsawqawResposta favorita

    Não vou escrever nenhum código para você, mas tenho algumas idéias.

    Se você não se importa se o programa usa palavras reais, a implementação deve ser bem fácil.

    Primeiro, para cada frase, faça com que o programa decida quantas palavras devem conter. Em seguida, para cada palavra, faça com que o programa decida quantas letras devem conter. O programa deve alternar entre consoantes e vogais para garantir que o jargão ainda seja pronunciável. O programa também pode ter uma probabilidade definida para inserir parênteses ou vírgulas, talvez 1 em 7 para uma vírgula e 1 em 40 para parênteses. Certifique-se de que a primeira palavra da frase comece com letra maiúscula. No final da frase, o programa deve decidir se termina com um ponto final, ponto de interrogação ou ponto de exclamação. Você pode então repetir quantas frases aleatórias quiser.



    Agora, se você quiser que o programa use palavras REAIS, terá que trabalhar um pouco mais. Primeiro, você precisará de uma lista de palavras, um 'dicionário', por assim dizer. Isso precisará conter muitas informações se você quiser fazer frases usando palavras reais. Você precisará de informações sobre sua classe gramatical (substantivo, verbo, adjetivo, advérbio, interjeição, etc.), gênero (masculino, feminino, neutro), se a palavra é um verbo, se tem alguma forma irregular ou se o verbo é transitivo ou intransitivo, se a palavra for um substantivo, se tiver plurais irregulares (por exemplo, 'datum' e 'dados' ou 'ganso' e 'gansos') ou se for um nome próprio nenhum, algum ou todo o tempo , se a palavra for um adjetivo, se ela pode ser transformada em um advérbio adicionando -ly, e basicamente informação para qualquer outra questão que possa surgir ao fazer uma frase. Provavelmente é mais do que trabalho suficiente. MAS, uma vez que isso seja feito, o programa pode usar o gerador de números aleatórios junto com as regras da gramática para fazer uma 'estrutura' de frase, então simplesmente selecionar palavras aleatórias da classe gramatical certa para 'preencher os espaços em branco'. Por exemplo:

    (? artigo?) (? adjetivo?) (substantivo) (? advérbio?) (verbo) (? artigo?) (? adjetivo?) (? substantivo?)

    Os pontos de interrogação indicam classes gramaticais opcionais para essa frase-quadro. O programa pode fazer frases como as seguintes:

    sonho de água subindo

    Um damasco azul engravida graciosamente os macacos altos.

    O carro gosta da realidade.

    Os celeiros mantêm relutantemente uma mangueira segura.

    Um bebê vomita.

    Se você for realmente avançado, poderá criar outras 'estruturas de frase':

    (? artigo?) (? adjetivo?) (substantivo) foi (? advérbio?) (verb-past_participle)? por? (? artigo?) (? adjetivo?) (? substantivo-posessivo?) (? artigo?) (? adjetivo?) (? substantivo?)

    Um deus de veludo quase foi esmagado pelos deliciosos dólares felizes do chefe.

    Matthew foi totalmente radiografado com manteiga.

    Uma máquina de venda automática vermelha estava inflada de orgulho.

    As ridículas bolas de beisebol foram engolidas.

    Em conclusão, você terá que aplicar todo o seu conhecimento linguístico e habilidades de resolução de problemas - para não mencionar muito tempo - neste. Na verdade, parece algo que eu gostaria de tentar. Me mande um e-mail se você estiver interessado.

  • Senthil

    Olha aqui, eu não posso dar a resposta, mas posso dar o código para um programa semelhante. Aqui está:

    aquário sol lua capricórnio

    / * Magic.cpp * /

    / * Este programa gera um número aleatório e obtém dados de entrada

    do usuário. Se ambos corresponderem, diga 'Magia' else 'Você não sabe

    Magia' */

    #incluir

    #incluir

    #incluir

    int gerar ();

    void main ()

    {

    int rand_no;

    int input_no;

    clrscr ();

    sonho de nadar com tubarões

    custo<<'What do you think is the Magic Number in my mind : ';

    cin >> input_no;

    rand_no = gerar ();

    if (rand_no == input_no)

    custo<<'Woow! You are quite a magician!!!';

    senão

    custo<<'Phoof! You know no magic!!!';

    getch ();

    }

    int gerar ()

    {

    int rand_no;

    sol em conjunção com sinastria de Netuno

    rand_no = rand ();

    return rand_no;

    }