2分探索法

シン@C.B
記事: 0
登録日時: 14年前
住所: 石川県金沢市
連絡を取る:

2分探索法

投稿記事 by シン@C.B » 14年前

2分探索法のやり方

CODE:

#include 
int i, j, x[100], n, target,search;
int main()
{
	
	
	printf("入力したい数値の個数を入れてください:");
scanf("%d",&n);
	if(n>100){
		printf("数字を入力してください  x[middle]) {
                low = middle +1;            // 検索データが最小側にある
            } else  {                        // 検索データが中間にある
                printf("-----%dは見つかりました。------\n",x[middle]);
                sflag = 1; // 検索結果on
            }
        } 
        if  (sflag==0) {
            printf("------検索したデータは見つかませんでした。------\n");
      }


				
		}
		printf("Good bye!\n");
		
	}scanf("%d",&i);
	return 0;
}
最後に編集したユーザー シン@C.B on 2010年10月20日(水) 17:43 [ 編集 1 回目 ]

アバター
ideyan
記事: 2
登録日時: 15年前

Re: 2分探索法

投稿記事 by ideyan » 14年前

おー、ちゃんと動きますね^^
ちょっとだけ気になったことを。

47行 scanf("%d",&i);
不要じゃないですか?

14行 printf("Please input the data.");
今いくつめを入力してるのかも表示してあげると親切だと思います。
(別になくてもいいですが)

9-11行
どうせエラーチェックをするならn<=0のときも
弾いてみてはどうですか?

#インデントが鬼のように狂ってるのは仕様ですか?

シン@C.B
記事: 0
登録日時: 14年前
住所: 石川県金沢市
連絡を取る:

Re: 2分探索法

投稿記事 by シン@C.B » 14年前

俺、自身インデントがヘタクソなんです。まだ勉強不足でして(汗)

47行目のscanf("%d",&i); はVC++でデバックするとそのまま流れてしまって止まらないので仕方無くつけていたのを忘れていました。

VC++でデバックが止まるやり方を知っていたら教えてください。

あとフレンド登録おくりまーす