- ベストアンサー
決まった文字の数を数える
数を数えるプログラミングをしています。 あるきまった文字だけをカウントして、その出現回数だけを数えたいのです。 途中まで考えてみたのですが、決まった文字が出現するとこでどうしたらいいか分からなくなりました。 できるだけ自分でやりたいと思ってるので、使える関数や続きの考え方を教えてもらえるとうれしいです。 初心者なのでよろしくお願いします。 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' ) {
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 > abがどこにあっても数えられますかね... > Abと言う場合もかえられないといけないんです... strstr strlen 辺りを使って汎用的な関数を作れば、 "ab"だろうが"Ab"だろうが"cDeF"でもできますよ。 "ab"と"Ab"の2回呼び出してもいいんだから。 でも大文字小文字に対応するなら toupper とか使うのが普通だけど
その他の回答 (3)
- ioehd
- ベストアンサー率16% (4/25)
回答No.4
ほとんど完成していると思いますよ。 あとはカウントするくらいでは?
- ICE_FALCON
- ベストアンサー率56% (63/111)
回答No.2
strstrでも使えばどうでしょう?
- DIooggooID
- ベストアンサー率27% (1730/6405)
回答No.1
"ab" の出現回数とは、違うのですか?
質問者
補足
はいそうです。 言い方が悪くてすみません。
補足
abがどこにあっても数えられますかね... Abと言う場合もかえられないといけないんです... 書いてないことばかりでごめんなさい。