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

Tìm chữ cái in hoa đầu tiên trong chuỗi (Lặp và Đệ quy) C++

Giới thiệu

Trong hướng dẫn này, chúng ta sẽ tìm chữ cái in hoa (uppercase) đầu tiên xuất hiện trong một chuỗi, sử dụng cả phương pháp lặp (iterative) và đệ quy (recursive).

Ví dụ

Input: "Tutorialspoint"
Output: T

Phương pháp 1: Lặp (Iterative)

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

char firstUpperCaseChar(string str) {
    for (int i = 0; i < str.length(); i++)
        if (isupper(str[i])) return str[i];
    return 0;
}

int main() {
    string str = "Tutorialspoint";
    char result = firstUpperCaseChar(str);
    if (result == 0) cout << "Không có chữ cái in hoa" << endl;
    else cout << result << endl;
    return 0;
}

Phương pháp 2: Đệ quy (Recursive)

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

char firstUpperCaseChar(string str, int i = 0) {
    if (str[i] == '\0') return 0;
    if (isupper(str[i])) return str[i];
    return firstUpperCaseChar(str, i + 1);
}

int main() {
    string str = "Tutorialspoint";
    char result = firstUpperCaseChar(str);
    if (result == 0) cout << "Không có chữ cái in hoa";
    else cout << result << endl;
    return 0;
}

Kết quả đầu ra

T

Kết luận

Cả hai phương pháp đều cho kết quả đúng. Đệ quy ngắn gọn nhưng dùng bộ nhớ stack; lặp hiệu quả hơn về bộ nhớ. Nếu bạn có thắc mắc, hãy để lại bình luận bên dưới.