• ベストアンサー

決まった文字の数を数える

数を数えるプログラミングをしています。 あるきまった文字だけをカウントして、その出現回数だけを数えたいのです。 途中まで考えてみたのですが、決まった文字が出現するとこでどうしたらいいか分からなくなりました。 できるだけ自分でやりたいと思ってるので、使える関数や続きの考え方を教えてもらえるとうれしいです。 初心者なのでよろしくお願いします。 a後にbが来たときだけを数えるものです。 char *a; int i; moji[20] //abcddcbaが入っている a = moji; /*ここから下を考えてる途中*/ if( *a != 0 ) { for(;*( a+1) != 0; a++ ) { if( *a == 'a' ) { if( *(a+1) == 'b' ) {

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

  • ベストアンサー
回答No.3

#2です。 > abがどこにあっても数えられますかね... > Abと言う場合もかえられないといけないんです... strstr strlen 辺りを使って汎用的な関数を作れば、 "ab"だろうが"Ab"だろうが"cDeF"でもできますよ。 "ab"と"Ab"の2回呼び出してもいいんだから。 でも大文字小文字に対応するなら toupper とか使うのが普通だけど

その他の回答 (3)

  • ioehd
  • ベストアンサー率16% (4/25)
回答No.4

ほとんど完成していると思いますよ。 あとはカウントするくらいでは?

回答No.2

strstrでも使えばどうでしょう?

tonyemly
質問者

補足

abがどこにあっても数えられますかね... Abと言う場合もかえられないといけないんです... 書いてないことばかりでごめんなさい。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

"ab" の出現回数とは、違うのですか?

tonyemly
質問者

補足

はいそうです。 言い方が悪くてすみません。

関連するQ&A