C++
 Computer >> コンピューター >  >> プログラミング >> C++

ポインタを使用して文字列内の母音を数えるC++プログラムの書き方

文字列から母音(a、e、i、o、u)を取り出して数えるには、文字列内の各文字を順番に調べていく必要があります。ここでは、ポインタを使って文字列を先頭から末尾まで移動しながら処理を行う方法を紹介します。そのためには、C言語形式の文字列(Cスタイル文字列)を使用します。

文字列がポインタ str によって指されている場合、最初は *str が1文字目を保持しています。ポインタ str をインクリメントすると、*str は次の文字を指すようになり、これを繰り返すことで文字列全体を走査できます。各文字が [a, e, i, o, u] または大文字の [A, E, I, O, U] のいずれかに該当すれば、それは母音であるため、カウントを1つ増やします。

アルゴリズム

countVowels(str)

begin
    count := 0
    for each character ch in str, do
        if ch is in [a,e,i,o,u] or [A,E,I,O,U], then
            count := count + 1
        end if
    done
    return count
end

サンプルコード

以下は、ポインタを使って文字列内の母音を数えるC++プログラムの完全な実装例です。関数 countVowels() は引数として const char* を受け取り、ヌル文字('\0')に到達するまでループを回しながら母音を判定します。

#include<iostream>
using namespace std;
int countVowels(const char *myStr){
    int count = 0;
    while((*myStr) != '\0'){
        if(*myStr == 'a' || *myStr == 'e' || *myStr == 'i' || *myStr == 'o' || *myStr == 'u' || *myStr == 'A' || *myStr == 'E' || *myStr == 'I' || *myStr == 'O' || *myStr == 'U') {
            count++;
        }
        myStr++;
    }
    return count;
}
main() {
    string myStr;
    cout << "Enter String: ";
    cin >> myStr;
    cout << "Number of Vowels: " << countVowels(myStr.c_str());
}

実行結果

このプログラムを実行すると、ユーザーが入力した文字列に含まれる母音の個数が出力されます。

Enter String: EDucation
Number of Vowels: 5

上記の例では、入力された文字列「EDucation」に含まれる E、u、a、i、o の5つの母音が正しくカウントされ、「5」という結果が表示されています。

  1. セットを使って文字列内の母音の数をカウントするPythonプログラム

    本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe

  2. Pythonでsetを使って文字列内の母音の数をカウントするプログラム

    この記事では、ユーザーが入力した文字列に含まれる母音の数をカウントするPythonプログラムを紹介します。ポイントとなるのはPythonのset(セット)の活用です。setとは、反復可能(iterable)で可変(mutable)、かつ重複する要素を持たないという特徴をもつ、順序なしのコレクションデータ型です。 実行例 入力:str1 = pythonprogram 出力:3 アルゴリズム ステップ1:まず、文字列内の母音を数えるためのカウンター変数を用意します。 ステップ2:母音のセットを作成します。 ステップ3:与えられた文字列内のすべての文字を順番に走査します。 ステップ4:文字が