![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
回答 No. 1 の方に同じく,「ここで教えてもらった」イコール「できましたではありません」。
でも,それほど難しくはないでしょうから,以下の点を確認して,プログラムを組んでみてください。この課題は,Visual Basic より,C や Java のほうが簡単のような気がしますが。
1. 二分探索は,それを行うに際して,データ列の並びに何らかの条件があったはずです。それは何ですか。
2. 二分探索は,その名のとおり,探索範囲を半分半分に狭めていくものです。そのために重要となる「判定処理」は何ですか。
3. その「半分半分」にするにあたっては,判定処理をするデータ(着目するデータ)はどう選択すればよいですか。
4. そして最後に,コーディングにあたっては,「特定の条件を満たすまで繰り返し」という構造を使用するはずです。それは,Visual Basic ではどうコーディングされますか。
以上をご参考の上,課題に取り組んでください。ご健闘をお祈りします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.4
- 回答日時:
参考URLにVBによる二分探索の例があります。
VBと二分探索をキーワードにして検索を行うと二分探索に関する資料が得られます。
参考URL:http://www22.0038.net/~sanjyuiti/ibasyo.html
No.3
- 回答日時:
2分検索は、値が昇順か(降順に)ソートされていることが必要です。
本件は昇順にソートされているものとします。また配列A(i)に記録されているものとします。(1)配列要素の最初の1と最後7を加えて、2で割ると(1+7)÷2=4となる(ここで整数にする)。
言語によっては配列(小数)は配列(切り捨て正整数)になるものあり。
4番目の値A(4)の44と,探索する値58を比較して
58が(等しくなく)大きい。
(2)その場合、後半のA(5)~A(7)を探す。
後半先頭4の方は1すすめて5にする。
(3)(5+7)÷2=6を6として、A(6)の64と
58と比較して(等しくなく)検索値58が小である。
(4)それでA(5)で探す。後尾6の方は1引いて5のする。
(5)A(5)の58と検索値58と一致して見つかった。
OKWEBへ宿題丸投げは禁止のようなので、ロジックだけに止めます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- 計算機科学 判定問題がPに属するなら探索問題はNPに属する。では判定問題がNPに属するとき探索問題は? 2 2023/05/20 19:10
- 大学受験 ホントすみません!過去問を知りたいです。38(今年39)です。 もうかれこれ二十年前、平成15年度茨 1 2023/06/30 19:13
- 生物学 昆虫に詳しい方にお伺いします 1 2022/09/05 18:34
- クラフト・工作 この形状のストーンをご存知の方、教えてください。 1 2022/08/17 11:05
- Google+ PVを探してます。 2 2022/10/02 15:41
- Windows Me・NT・2000 コマンドプロンプトのdisk partについて 2 2023/03/05 15:49
- その他(暮らし・生活・行事) M12で埋め込み深さ30mmのアンカーボルトを探しています 2 2023/05/08 17:36
- Word(ワード) ワードでフォントを選ぶとき、一覧からではなく検索等できないでしょうか? 2 2022/10/22 17:52
- Chrome(クローム) 曲名検索サイト 1 2022/11/05 17:13
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
構造体配列の特定のメンバーをF...
-
エクセルでXY座標に並べられた...
-
COBOLの基本的な事なので...
-
vba フィルター 複数条件 3つ以...
-
Segmentation Fault (メモリ制限?)
-
excel vbaの配列なんですが・・・
-
Dir関数で読み取り順を操作でき...
-
コンボボックスのインデックス...
-
配列の中の最大値とそのインデ...
-
VBAでMODE関数をつくる
-
複数のtextboxの処理を一括で行...
-
Redim とEraseの違いは?
-
配列の中から最大値だけ取り出...
-
エクセルVBAからNotesでメー...
-
VBAにて、配列のデータを一度に...
-
クイズゲームのフォームについて
-
VBA 桁数が混在するソート
-
定数配列の書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報