コンビネーション

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ねこんぶ

コンビネーション

#1

投稿記事 by ねこんぶ » 15年前

箱に入ったボール1~6の数字
のボールを3つ取り出し
その取り出した数字を毎回表示させる
すべて表示されたら終了というDxで書こうと思っています。
頭が悪いのでどうやって関数を書いていいのかわかりません。
どなたかヒントだけでも教えていただけないでしょうか。

int n;//1~6の数字
int r[3];//3つ取り出す。
int p[6];//フラグスイッチ1~6が使われているかどうか
int i,j//ループの時に使う数字

conb(){//ここで処理する
/*ここがわからない
for(j=0;,j<3;,j++){//3つ取るという意味
for(i=0;,i<6;,i++){//1~6の数字を取る
p=1; //使われた数字にフラグをたて次は使えないようにする。
r[j]=i;//取り出したボールの順番と番号
       //箱に戻す
//組み合わせた種類を記憶?????
}
}
*/
}

main(){
while(){
conb();//
      for(i=0;,i<3;,i++){
   DrawFormatString(i*20,, White , "%d",r);//パチンコのスロットのように表示させる。
}
}
}

たいちう

Re:コンビネーション

#2

投稿記事 by たいちう » 15年前

他にも色々やり方はありますが、、、
#include <stdio.h>

int main() {
    int i, j, k;
    for (i = 1; i <= 6; i++)
        for (j = 1; j <= 6; j++)
            for (k = 1; k <= 6; k++)
                if (i != j && i != k && j != k)
                    printf("%d %d %d\n", i, j, k);

    return 0;
}

ねここんぶ

Re:コンビネーション

#3

投稿記事 by ねここんぶ » 15年前

たいちうさん、ありがとうございます。
とても助かります^^
2,1,3の組み合わせも3,2,1の2,1,3同じとみなして
処理したいのですが
そこでずっと頭をかかえてます;;

頭の悪い私にご教授をお願いします;;

たいちう

Re:コンビネーション

#4

投稿記事 by たいちう » 15年前

これでいいですか?
for (i = 1; i <= 6; i++)
    for (j = i + 1; j <= 6; j++)
        for (k = j + 1; k <= 6; k++)

ねここんぶ

Re:コンビネーション

#5

投稿記事 by ねここんぶ » 15年前

たいちうさん、
ありがとうございます。
自分、頭が悪いのでとても助かります。
でも、がんばりますのでまた機会があれば教えてください^^

閉鎖

“C言語何でも質問掲示板” へ戻る