C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 25 を表示中)
■11000 / )  Re[4]: 関数作成
□投稿者/ mあ@反省中 (28回)-(2007/12/04(Tue) 01:17:24)
No10996 (ハツ さん) に返信
> ■No10992 (επιστημη さん) に返信
>>N文字あるとき、1〜2^N-1 の数を二進表現にすりゃいいんじゃね?
>>
>>あいう
>>001 = う
>>010 = い
>>011 = いう
>>100 = あ
>>101 = あう
>>110 = あい
>>111 = あいう
> すみません、上のは例えばの話です。
> 数字 「1 2 3 4 5」だろうが、文字「あいうえお ああああ ううう」だろうがなんだろうがです。

納得行かない回答だからってお前らわかってねーな、みたいな発言は良くないです。

> 組み合わせの所のみ見ていただきたいです。お願いします

だから上の例でいいんじゃないのかな?

(1)入力文字列を区切り文字単位で分割する。
(2)N番目とN+1...終わりまでを文字列連結し順番に ArrayList に格納する。
(3)(2)が終わったら、N+1 番目と N+2 ... 終わり。。。を繰り返す。


で完成。文字がいくつあっても同じ処理で全ての組み合わせを List で返却できますね。

(1)で取得した配列の参照位置をちょこちょこずらしながらループ回すだけでできちゃいますよね。

入力が string input = "あ い う えお かき";

string[] array = input.split(",");

for (int i=0;i < array.length-1;i++) {
   string src = array[i];
   for (int j=i+1;j < array.length;j++) {
      arrayList.add( src + array[j] );
   }
}
//
//1文字ずつListに格納する。

//全部連結したものを最後に付加する。

完成!

array[0] と array[1] => あい
array[0] と array[2] => あう
array[0] と array[3] => あえお
array[0] と array[4] => あかき
array[1] と array[2] => いう
array[1] と array[3] => いえお
...

なんかよサゲな感じがしませんか?





返信 編集キー/


管理者用

- Child Tree -