下記のようなグループがあります。
List1=100、200、300、400、500
List2=150、200、250、300、350
List3=50、100、150、200、250
ここで、それぞれのListから複数選択し、合計が700になる
組み合わせをVBで、表示したいのです。
例えば、List1から300、500を選択。
List2から150、200、250を選択。
List3から50、150、200を選択。
この場合の答えは、
List1:300 List2:200 List3:200
List1:300 List2:250 List3:150
List1:500 List2:150 List3:50
が答えなので、これを表示したいのです。
まったく分かりません。。。宿題の締め切りがちかいので、どなたか助けてください~(>_<)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
もうちょっと頑張ってみてくださいな。
人間の場合も、コンピュータの場合も一緒です。
まず、List1から300と500を選択しました。
単純に考えて二つの事を一気にやるのは無理ですよね。
じゃまず300から考えます、
List2の一番目には150が入ってますよね。
次にList3の一番目には50が入ってます。300、150、50を足しても700ではないです。
それじゃList3の2番目には100がはいってます。300、150、100を足しても700にはなりません。
これをList3の5番目までします。
で今度は、List2に戻って2番目の値を取得する200ですよね。
次に
List3の一番目には50が入ってます。300、200、50を足しても700ではないです。
それじゃList3の2番目には100がはいってます。300、200、100を足しても700にはなりません。
それじゃList3の2番目には200がはいってます。300、200、200を足しても700になりました。では、出力or保存する。
これをList3の5番目までします。(List内には同じ数字ないと分かっている場合)
ってな感じで出来ませんか。
2重ループ、配列を使えば余裕です。
頑張って解いて下さい。
とても分かりやすいです!ありがとうございます!!
でも、ごめんなさい、2重ループや配列のVBでの書き方が分からないんです。。学校では、C言語を学んできました。なのにVBで宿題をだされてしまいました。がんばります、ありがとうございます。
No.1
- 回答日時:
データを配列に格納して、総当りで判定すれば良いと思います。
今VBの環境がないので、ソースはやや適当ですが大体こんな感じでしょうか。
dim List1(4), List2(4), List3(4)
'ここで配列にそれぞれの値を代入
dim i, j, k
for i = 0 to 4
for j = 0 to 4
for k = 0 to 4
if List1(i) + List2(j) + List3(k) = 700 then
'ここで表示の処理
endif
next
next
next
ありがとうございます!
考え方は分かるのですが、VBで書くことができません。。。
ほんとにVBの知識がなさすぎて、恥ずかしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- TOEFL・TOEIC・英語検定 海外大学の出願をしているのですが、このような欄がありました。 これらの学位の日本語訳をお願いします。 1 2023/01/11 15:06
- 日本語 は / が について 7 2022/10/18 11:14
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- レディース アニエス・ベーについて教えてください。 Tシャツのサイズ表記に1.2.3のほかにT1.T2.T3とT 1 2022/05/17 18:13
- 計算機科学 急ぎです、大学数学再帰の問題難しくてがわからないです。 以下の4つの文字列を連結して新たに生成できる 1 2023/05/17 20:11
- 英語 「そこに~がある」の「~」が初出の場合の英訳について 7 2022/06/03 14:04
- 英語 His excuse is () belieavble than mine. いくつか選択肢があり答 1 2023/07/13 07:47
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Excel(エクセル) excel でグループの最後に行を追加。 3 2022/06/14 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Dir関数で読み取り順を操作でき...
-
vba フィルター 複数条件 3つ以...
-
グラフの「項目軸ラベルに使用...
-
Redim とEraseの違いは?
-
Excelのメモリ(配列)の上限は2G...
-
【緊急】インクルードファイル...
-
VB6のメモリ解放に関して
-
RPG 配列宣言について
-
構造体配列内の文字列検索のよ...
-
定数配列の書き方
-
テキストボックの文字を一行ず...
-
VBAのワークシート関数で配列の...
-
VB.NETの配列にExcelから読み込...
-
大至急!!! プログラミングC...
-
8bitインデックス画像の入出力方法
-
Segmentation Fault (メモリ制限?)
-
DBから取得した値を配列へ代入する
-
エクセル VBA 変数を一括で宣言...
-
VBA フォルダ内のファイルを、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
Excel2010のinputboxで複数デー...
-
エクセルでXY座標に並べられた...
-
構造体配列の特定のメンバーをF...
-
定数配列の書き方
-
コンボボックスのインデックス...
-
OutOfMemoryExceptionの回避策...
-
Dir関数で読み取り順を操作でき...
-
CheckBoxの配列化
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
Redim とEraseの違いは?
-
VBAで配列引数を値渡しできない...
-
2次元配列の初期値
-
配列の中の最大値とそのインデ...
-
VB6からの移行したいけど、VB.N...
-
大量の変数を定義するにはどう...
-
VB6のメモリ解放に関して
おすすめ情報