- ベストアンサー
C言語プログラムで組み合わせを特定する方法
- C言語プログラムで集合Aと集合Bの要素の組み合わせを特定する方法について学びます。
- 集合Aは集合Bの部分集合であり、同じラベルの要素のIDを特定します。
- 具体的な組み合わせの例として、集合Aのラベルと集合BのIDを使用して4通りの組み合わせを特定します。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 【組合せ】1:2の作表
添付画像は分かりにくいので文字で説明しますが、 二項対立の表で対応した組合せから、さらに同じ要素の組み合わせで3通りの組み合わせを作りたいのです。 たとえばX軸=AとY軸=Bと対応したマトリックス部分を(1)とする。(表1) 表1で対応したものと同じ要素(A~E)でさらに対応させる。(表2) しかし重複部分を探すのに難儀しています。 表1は斜線を境に同じ組み合わせが対立していますが、表2の場合も法則を使い探したいのですが…
- ベストアンサー
- 数学・算数
- 数学の「組み合わせ」を求めるプログラム
お世話になっています。 早速ですが、数学の「組み合わせ」を求めるプログラムを作成中です。 例えば、1~6の数字の中から4個取り出す場合、パターンとしては、 (1,2,3,4) (1,2,3,5) (1,2,3,6) (1,2,4,5) (1,2,4,6) (1,2,5,6) (1,3,4,5) (1,3,4,6) (1,3,5,6) (1,4,5,6) (2,3,4,5) (2,3,4,6) (2,3,5,6) (2,4,5,6) (3,4,5,6) の15パターンが挙げられます。 「1~aの数字の中からb個取り出す」場合、上記の例だとa=6、b=4ですが、 このようにa,bにそれぞれ値を与えると、上記のようにすべての組み合わせを 求めてくれるPHPプログラムを作成中です。 実現方法、ソースコードなど、ご教授いただけないでしょうか。 よろしくお願い申し上げます。
- 締切済み
- PHP
- C言語での並び替えのプログラム
A[6][5]={{"abei"}, {"aceh"}, {"adeg"}, {"aef"}, {"bcfi"}, {"bdfh"}}; と配列があるとします。 (a).A[1][5]の文字列とA[2][5]の文字列を比較して、"abceih"という組み合わせた文字列を作り、その文字列の数を出します(この場合6個)。次に、A[3][5]のA[4][5]を比較して組み合わせて文字列を作り、その文字列の数を出します。A[5][5]とA[6][5]も同じように比較して組み合わせて文字列を作り、その文字列の数を出し、最後にそのすべての数の和を出します。 (b).この配列を並べ変えて(a)をします。 並び替え方は配列6個のとき 1.(1)(2)(3)(4)(5)(6) 2.(1)(2)(3)(5)(4)(6) 3.(1)(2)(3)(6)(4)(5) 4.(1)(3)(2)(4)(5)(6) 5.(1)(3)(2)(5)(4)(6) 6.(1)(3)(2)(6)(4)(5) 7.(1)(4)(2)(3)(5)(6) 8.(1)(4)(2)(5)(3)(6) 9.(1)(4)(2)(6)(3)(5) 10.(1)(5)(2)(3)(4)(6) 11.(1)(5)(2)(4)(3)(6) 12.(1)(5)(2)(6)(3)(4) 13.(1)(6)(2)(3)(4)(5) 14.(1)(6)(2)(4)(3)(5) 15.(1)(6)(2)(5)(3)(4) の15通りになります。 この配列の並びを前から配列を2つずつ取り出して比較すれば全組み合わせが完了したことになります。 この15通りの組み合わせの中で総和が一番少なくなる組み合わせ方を探すプログラムを作りたいのです。 そしてこのとき、配列が最大で40個までとなることがあるとするとその並べ替えのプログラムはどうなるでしょうか? 比較するプログラムは作ることに成功しましたが並べ替えのプログラムがうまく作れません誰か教えていただけないでしょうか?
- ベストアンサー
- C・C++・C#
- C言語のプログラムを作りました。
以下のプログラムは動くかどうか、確認して頂けませんか? おかしい部分があれば指摘して下さい。 また、自分で考えたのですが、このプログラムはどのように考えられたのか、作成方針は考えられますでしょうか? なぜ聞くかというと、皆さんが考えられるように自分も考えているのかどうか、作成方針を聞くことにより判断したいのです。 →作成方針を記述の上、プログラムについてご指摘の方、よろしくお願い致します。 #include<stdio.h> main() { int a,b,c; b=0; c=1; printf("a="); scanf("&d",&a); do{ c=c+1; b=a%c; }while(!(b==0)); if(c==a); printf("sosu-desu n); }else{ printf("sosu-denai n); } }
- 締切済み
- C・C++・C#
- C言語
このプログラムを作りたいのですが… ??????????? 物の総数を入れてください:12 取り出す物の数を入れてください:2 12個の異なる物から2個をを取り出す組み合わせの数は66です ?????????????? ここに出てくる数字は scanfで入れます。 だいたい こんな感じだと思うのですが… ***********の部分が わかりません。 ??????????????? #include<stdio.h> int factorial(int m,int r) { ************** } int main(void) {int a,b; printf("物の総数を入れてください:") scanf("%d",&a); printf("取り出す物の数を入れてください:") scanf("%d",&b); printf("12個の異なる物から2個を取り出す組み合わせの数は%dです。\n",a,b,factorial(a,b));) ?????????????? お願いします(>_<)
- 締切済み
- その他(学問・教育)
- 集合の問題
次の問題の解答をお願いします。 S={a,b,{a,b}}で、以下の関係が成り立つ場合は○、成り立たない場合は×を記入せよ。 (1){a,b}はSの部分集合である (2)aはSのべき集合の要素である (3)φはSの要素である (4){{a,b}}はSのべき集合の要素である (5){a,{b}}はSのべき集合の部分集合である (6){a,b}はSのべき集合の部分集合である (7){a,b}はSのべき集合の要素である (8)aはSの部分集合である (9)φはSのべき集合の部分集合である (10)φはSのべき集合の要素である (11){φ,{a}}はSの部分集合である (12){{a},{b}}はSのべき集合の要素である
- 締切済み
- 数学・算数
- c言語のプログラムです
2つの生の整数の割り算a÷bはaからbを繰り返し引いていき、引くことが出来なくなるまでの回数を商、その時の残りを剰余をすることで、引き算だけを用いて実現することができる。このことを考慮して、while文と引き算だけを用いて割り算を実現しなさい。という問題なんですけどどのようにプログラムを作っていいやらわかりません 一様ヒントはあります ・変数としては、入力する二つの整数に対応する変数m,n、商に対応する変数q、剰余に対応する変数rを使うとよいでしょう。すべて整数ですのでintで宣言する。 皆さんのご協力お願いします
- ベストアンサー
- C・C++・C#
- 組み合わせのプログラム
組み合わせのプログラムを考えています。 例として tray[0]=1000, tray[1]=500, tray[2]=300 があるとします。 各配列の値を使って、その合計値が例えば「1000 以下」と言う条件に当てはまる組み合わせは 1000, 800(500+300), 500, 300, (0) です(各配列の値は1回だけ使用可能とします)。 1つの tray に対して、それを「足すか」「足さないか」の2通りが考えれるので、全体で2^n個(trayの数をnとする)の組み合わせを調べれば良いと思っています(これは間違っているのかな?!) プログラムのイメージは以下のような感じです。 int sum,x; (ここは x を使って if か for を使った足すか足さないかの条件ではないか!?){ sum=0; for(int i=0;i<n;i++){ sum+=tray[i]*x;//ここでさきほどの x を使うのではないか、x に 0 or 1 が入ってくるイメージです if(指定した数字(条件)>=sum) System.out.print("ここで組み合わせの出力"); } } 初歩的な質問でお恥ずかしいです。 意味的に、かなりはしょった部分があるので、言いたい意味が分からないなど、ご質問がある方はご遠慮なくして下さい。 色々頑張ってみたのですが無理でした、もしご解答いただける方がいればすごく助かります。 宜しくお願いします。
- ベストアンサー
- Java
- 集合について。
Aを100以下の自然数の集合とする. また,50以下の自然数kに対し, Aの要素でその奇数の約数のうち最大のものが2k-1となるものからなる集合Akをとする. このとき,次の問いに答えよ. ①Akを求めよ. ②Aの各要素は, A1からA50までの50個の集合のうちのいずれか1つに属することを示せ. ③Aの部分集合Bが51個の要素からなるとき, y/xが整数となるようなBの異なる要素x.yが存在することを示せ. ④50個の要素からなるAの部分集合Cで, その中にy/xが整数となるような異なる要素x.yが 存在しないものを1つ求めよ.この問題をご教授頂けると幸いです。
- ベストアンサー
- 数学・算数
- このC言語プログラムでどこをいじればいいのか教えて下さい。
このC言語プログラムでどこをいじればいいのか教えて下さい。 //2 つの整数を入力し、和、差、積、商を計算し表示する。 #include<stdio.h> int main(void) { int a,b,wa,sa,seki,syou; scanf("%d %d",&a,&b); wa=a+b; sa=a-b; seki=a*b; syou=a/b; printf("%d+%d=%d\n",a,b,wa); printf("%d-%d=%d\n",a,b,sa); printf("%d*%d=%d\n",a,b,seki); printf("%d/%d=%d\n",a,b,syou); return (0); } これを繰り返し実行する形にしたいです。できれば今勉強中のwhileでお願いします。 また間違っている部分、指摘などありましたら宜しくお願いします。 大きな値をいれると足し算がダメになったり、割り算がおかしくなります。 また実数の時はどうなのかなど教えて下さい。
- ベストアンサー
- その他(プログラミング・開発)
お礼
なんとか出来ました! ありがとうございました。