1

私はコーディングに比較的慣れていないので、入力を取り、それをアナグラムとして出力できるテスト プログラムを作成したいと考えています。しかし、アナグラムは単なる文字の寄せ集めではなく、ある種のわかりやすい「単語」である必要があります (つまり、「恐竜」を入れると、何かではなく「ニサドル」のような見返りが欲しいのです)。 「dsrunsia」など)。さらに一歩踏み出すことが大したことではない場合、プログラムに出力に文字を追加させることにも興味があります (つまり、「dinosaur」と入力すると、「nisadorux」を受け取ることができます)。

単語に追加する追加の文字の選択肢を探しているわけではありません。選択した文字を追加したいのです。意味があるとすれば、その文字は x です。したがって、すべてのアナグラムには追加の x が含まれます。

私はよく見ましたが、有用なヘルプを見つけることができませんでした。実行するコードはありませんが、単にコードを与えられただけでは学習できないと言っている人のために、私は完全な部分を調べて分解するか、すべてがどのように機能するかを理解することを試みるのではなく、色々と試しにまとめてみました。

4

2 に答える 2

1

文字配列を 2 つの配列に分割します。1 つは母音のみ、もう 1 つ[a,e,i,o,u,y]は残りすべてdinosaurを受け取ります。[d,n,r,s] - [a,i,o,u]次に、アナグラムを作成するには、配列内に残っている文字の合計数に対して乱数を投げ、対応する文字を選択します。 、構築中のアナグラムに追加し、配列から削除します。ランダムに 6 (0 ベース) をスローするとします。最初の配列の長さは 4 で、2 番目の配列の位置 2 (=6-4) -> 'o' から取得します。次の random(7) は 2 をスローし、最初の配列から 'r' を取得orします。[d,n,s] - [a,i,u]. また、母音と子音の交換については、文字が最後に目覚めた配列を追跡し、1 つの配列から 2 つの連続したテイクがある場合は、完全なセットから文字を取得するのではなく、別の配列から (ランダムに) 文字を取得します。残りの文字。

そして今、これを自分でプログラムにコーディングする必要があります。

于 2013-03-19T04:16:04.193 に答える