C/C++の宿題を片付けます 104代目at TECH
C/C++の宿題を片付けます 104代目 - 暇つぶし2ch867:デフォルトの名無しさん
08/03/30 15:09:28
>>862
二分探索には標準ライブラリ関数bsearchを使いました。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmp( const void* key, const void* elm )
{
  return strcmp( (const char*)key, *(const char**)elm );
}

int main(void)
{
  // 規定の文字列。辞書順にソートされていること。
  static const char* const table[] = {
    "abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz",
  };
  const char** hit;
  char str[101];

  printf( "検索文字列:" );
  scanf( "%100s", str );
  hit = (const char**)bsearch( str, table, sizeof(table)/sizeof(*table), sizeof(*table), cmp );
  if( hit )
    printf( "'%s'は%d番目に存在します。\n", str, hit-table );
  else
    printf( "'%s'は存在しません。\n", str );
  return 0;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch