アプリ版:「スタンプのみでお礼する」機能のリリースについて

BM法(ボイヤームーア法)について
VisualC++にて、BM法のプログラムを作りたいと思いましたが、書き方が、わかりません。
概要を下記にまとめますので、どなたか、作ってみてくれませんか?
お早めにお願いします!!

1.scanf(入力関数(これ以外でも可))にて、テキスト(検索される文字列)を入力する。
2.上記にて、パターン(比較する文字列)を入力する。
3.BM法にて、1.と2.を比べて、あったら、"○○文字目にありました。\n\n"
4.続けて検索するか、しないか(While(これ以外でも可))を入力してもらう。(C(大文字か、小文字のC)を入力したら、続ける。E(大文字か、小文字のE)を入力したら、終了する)))

上記のような、プログラム作りは可能でしょうか?
可能なら、作ってみてくれませんか?
不可能なら、どこがダメか、どうしたらよいか、を踏まえ、サンプル的なプログラムを作ってみてくれませんか?

お願いします。

A 回答 (3件)

BM法を本当に知っているならそんなにむずかしいことではありません


プレーンのBM法だったら技術のレベルとしては従来の(それ以前の)検索方法とほとんど
かわりません
プレーンでなくジャンプテーブルを使う場合がちょっと複雑のように見えますが
それもジャンプテーブルを作ってしまえばあとはらくです

フルコードのサンプルもネットにありますので参考にするとよいでしょう
    • good
    • 1

>BM法のプログラムを作りたいと思いました



この文と

>どなたか、作ってみてくれませんか?

この文って、矛盾してませんか?

「自分で」作りたいんじゃないんですか?
「自分の頭と手を」フルに使ってこそ、あなたのプログラミング能力が
向上するんじゃないんですか?
プログラミングのいちばんおいしいところを人に任せてどうするんですか?

この回答への補足

ご解答ありがとうございます。

考えて、ネットを見て回ったりもしましたが、ぜんぜんっていいほどわかりません。
つまり、意味はわかりますが、プログラムを作るまではできない程度。

なので、詳しい方のプログラムを教えていただき、勉強したいと思いました。

書き方が、悪くてすみません・・・

補足日時:2010/11/02 23:35
    • good
    • 0

書き方:


1. BM のアルゴリズムを調べて理解する.
2. そのアルゴリズムを C なり C++ なりで実装する (これは普通関数にするんだろうなぁ).
3. その他の部分を作る.
4. 全体をデバッグしてきちんと動作することを確かめる.

「書き方がわからない」ということだから, これで十分だよね.

この回答への補足

ご解答ありがとうございます。

意味は、わかります。
しかし、プログラムに直す作業(プログラミング)がわからなく、そこを教えていただけませんか?(詳しくは、どんな風になるかを、サンプルみたいなもんを作ってみていただけませんか?)

補足日時:2010/11/02 23:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!