Computer >> Máy Tính >  >> Lập trình >> C ++

Chữ hoa đầu tiên trong một chuỗi (Lặp lại và Đệ quy) trong C ++

Trong hướng dẫn này, chúng ta sẽ học cách tìm ký tự hoa đầu tiên trong chuỗi đã cho. Hãy xem một ví dụ.

Đầu vào −Điểm hướng dẫn

Đầu ra −T

Hãy xem các bước để giải quyết vấn đề bằng phương pháp lặp lại.

  • Khởi tạo chuỗi.

  • Lặp lại chuỗi.

  • Kiểm tra xem ký tự hiện tại có phải là chữ hoa hay không bằng cách sử dụng isupper phương pháp.

  • Nếu ký tự là chữ hoa thì trả về ký tự hiện tại.

Ví dụ

Hãy xem mã.

#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 << "No uppercase letter" << endl;
      }
      else {
         cout << result << endl;
      }
   return 0;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

T

Hãy xem các bước để giải quyết vấn đề bằng phương pháp đệ quy.

  • Khởi tạo chuỗi.

  • Viết một hàm đệ quy chấp nhận hai chuỗi tham số và chỉ mục.

  • Nếu ký tự hiện tại ở cuối chuỗi thì trả về.

  • Nếu ký tự hiện tại là chữ hoa thì trả về ký tự hiện tại.

Ví dụ

Hãy xem mã.

#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 << "No uppercase letter";
   }
   else {
      cout << result << endl;
   }
   return 0;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

T

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.