Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm cặp nguyên âm trong chuỗi C++

Giới thiệu

Cho một chuỗi ký tự, đếm số cặp ký tự liền kề mà cả hai đều là nguyên âm (a, e, i, o, u - không phân biệt chữ hoa/thường).

Ví dụ

  • "tutorials point" → Các cặp: (i,a), (o,i) → Kết quả: 2
  • "learning" → Cặp (e,a) → Kết quả: 1

Ý tưởng giải thuật

  1. Duyệt chuỗi từ 0 đến length-2.
  2. Kiểm tra s[i] và s[i+1] có đều là nguyên âm không.
  3. Nếu có, tăng bộ đếm.

Ví dụ triển khai (C++)

#include <bits/stdc++.h>
using namespace std;

bool isVowel(char c) {
    c = tolower(c);
    return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}

int countVowelPairs(string str) {
    int count = 0;
    for (int i = 0; i + 1 < str.length(); i++) {
        if (isVowel(str[i]) && isVowel(str[i+1]))
            count++;
    }
    return count;
}

int main() {
    string str = "tutorials point";
    cout << "So cap nguyen am lien ke: " << countVowelPairs(str); // 2
    return 0;
}

Đầu vào

"tutorials point"

Đầu ra

2