- 締切済み
組み合わせ生成プログラム
はじめまして。以下のような組み合わせを生成したいと考えています。初心者なもので、どのように全く・・・です。 どのようなソフトやプログラムで出来るか途方にくれております。 よろしくお願いいたします。 1)A群:X個 B群:Y個 C群:Z個(毎回群数、X,Y,Zを可変させたい) からG個の組み合わせを生成する。 2)生成された組み合わせを別の組み合わせと重なるものを抽出する。 なにぶん、初心者なのでよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- lotonum
- ベストアンサー率0% (0/0)
1)群数(ABC)をいくつ選ぶか、何個(XYZ)をいくつにするかの部分の可変とはランダムなのか、チェックボックス等で、任意指定するか、そこはわかりませんが、 ここで6つの指定用数字を決め、配列(1から43を入れておく)から、指定用数字の箇所を引く抜く場合、問題は同じ数字だったら、やり直すというプログラムを追加でGの組み合わせを生成、 組み合わせが何個になったら終了ということだと、ループで可能。 2)生成された組み合わせで同一だったら抽出となると、まず生成された組み合わせをプログラムできちんと並び変えしてから、先頭から確認し同じだったら、2個目確認、同じだったら3個目確認ってプログラムでやっていきます。 できるかできないかといことですが、いかようにもできるとは思います。 ただしあたりを予測するのは作れないと思いますけど。 使うプログラムは、エクセルがあるなら、VBAでいいとおもいますが、 ないのであれば、無料でできるjavaがいいと思います。 自分がjavaで作った、コンテンツ集のホームページは参照URLにあります。 こんなことは可能ってわかりますので、 もしよかったら見てください。
- Anzu4699
- ベストアンサー率59% (26/44)
回答No01.Anzuです とりあえず、どの程度の初心者なのか難しいところですが 抽出条件が複数あり、組み合わせ別の抽出有りということで、SQL文構築できるソフトが良いことがわかります となると、開発言語ならほぼクリア <最低限必要なテーブル> テーブル:郡テーブル [郡コード(PK),郡名称] テーブル:計測テーブル[計測日(PK),計測連番(PK),郡コード,計測値] テーブル(データ)の持ち方を先に、しっかり考えておかないと手直しが大変ですので、着手時はどういった項目が あるのか全て洗い出さなければいけません ここでは 温度、湿度、時間といった郡が今後増えるということで郡テーブルが必要になる 以前実験したデータにとあるので、計測テーブル(トランザクション)が必要だとわかります 上記テーブルを用いてSQL文(コード)を構築していけば可能です 内容を考えると、抽出SQL,集計SQLの2種類を使いこなしてけば 可能かと思います >どのようなソフトやプログラムで出来るか途方にくれております。 モック(試作品)で確かめるなら、ソフトはAccessでプログラムはVBAが自分的にはお勧めです 実際の販売や配布を考えるなら、ソフトはASPでプログラムはVBScriptが自分的にはお勧めです ※Accessはデータベースもかねている為、開発環境準備の手間が少ない それに対し他のソフトはデータベース構築が必要です SQL文はどんなソフトになっても流用が利きますので、まずわAccessで作成してみてはいかがでしょうか? SQL文の作成の仕方もAccessならクエリという形で勉強していきやすいです
- hisappy
- ベストアンサー率46% (184/392)
面白そうな内容ですね。 目にとまってから今回答を考えている段階では 細かな仕様までは思いついていませんが、 群数と従属する項目数が不定。 過去のデータから類似する条件を抽出する。 という点からすると 画面設計の容易性を考えてWEB型のシステムもよさそうですね。 DB、CGI部、画面(HTML)部に加えて 不定数のデータ管理のためのDBテーブル設計とデータの連携管理。 作る人の手間と必要な知識を考えてない発言になりますが。。。 でも、一見難しそうなシステムですが データの関係が整理できれば実は簡単にできてしまいそうです。 なぜなら、既に私の頭にDBテーブルのイメージが出来上がったから。 そんな理由ダメですか? 問題点はどちらかというと、データ抽出の際の条件設定 「どのような適合の仕方を対象として抽出させるか」 の設定ですね。
- Anzu4699
- ベストアンサー率59% (26/44)
要点がイマイチ不明(※宝くじのNumbersやロト予想系に近い気もするが) 実際例があれば回答も的確になると思うのですが 現時点では、 ・生成したものや抽出したものを後日見る為に残しておくなら ソフト:Accrss/プログラム:VBA言語 ソフト:Excel /プログラム:VBA言語(マクロ) ・前回の記録を残さないでいいなら ソフト:VB、C++、.Net(VB,~) ※上記ソフトでもTXT(テキストファイル)に残す事も可能です が本来はデータベースを用いて開発するソフトです になります 各ソフトともに、プログラム言語が違うため参考プログラム例もだせません ※適したプログラムコーディングがあるためです 組み合わせ生成レベルであれば、開発ソフトであればどのソフトもプログラム でできますので、まず自分に適したソフトを選んでから、そのソフトの掲示板 などインターネットではごろごろあるので、そこで質問したほうが早いです 参考URLはAccessやVBなどの質問サイト
補足
宝くじではないのですが、科学計算(条件)の組み合わせをしてます。 なので同じような事にはなるかと思いますが。 温度:25,30,35 湿度:50,60,65 時間:1,2,3というような条件 なのですが、条件は増えますし、抽出する条件も同様なんです。 例:温度より2条件、湿度:1条件、時間:1条件の組み合わせは 何通りあり、以前実験したデータにいくつ適合するか・・・みたいな 事なんです。 従って、LOTO6とかの計算方法とかを応用できないか?と考えました。 (ゆえに抽出条件は6とは限らないんです・・・泣) よろしくお願いいたします。