• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 探索に関して)

C言語の探索プログラムについて質問

このQ&Aのポイント
  • ソートと二分探索を行うC言語の探索プログラムが正しく動作しない
  • 目的の値が見つかればインデックスを、見つからない場合は-1を返すArrayBinarySearch関数の実装
  • 数値が書かれたファイルを読み込んでソートし、目的の値を二分探索するプログラムの作成

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

int ArrayBinarySearch(int data[], int n, int x) { int left = 0, right = n - 1, center; while(left <= right){ center = (left + right)/2; if(data[center]=x){ /* ココ */ return center; }else if(x > data[center]){ left = center + 1; }else if(x < data[center]){ right = center - 1; } } これだとXの値を代入して、そのXの値でif文を判定してしまいます。 正しくは if(data[center]==x){ です。まぁ、よくある間違いですね。

ryukak
質問者

お礼

あ・・・・ 初歩的な間違いですね汗 ありがとうございます!!

関連するQ&A