ในบทช่วยสอนนี้ เราจะมาเรียนรู้วิธีค้นหาอักษรตัวพิมพ์ใหญ่ตัวแรกในสตริงที่กำหนด มาดูตัวอย่างกัน
ป้อนข้อมูล −บทช่วยสอน
ผลผลิต −T
มาดูขั้นตอนการแก้ปัญหาโดยใช้วิธีการวนซ้ำกัน
-
เริ่มต้นสตริง
-
วนซ้ำบนสตริง
-
ตรวจสอบว่าอักขระปัจจุบันเป็นตัวพิมพ์ใหญ่หรือไม่โดยใช้ isupper วิธีการ
-
หากอักขระเป็นตัวพิมพ์ใหญ่มากกว่าส่งคืนอักขระปัจจุบัน
ตัวอย่าง
มาดูโค้ดกันเลย
#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;
} ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
T
มาดูขั้นตอนการแก้ปัญหาโดยใช้วิธีการแบบเรียกซ้ำกัน
-
เริ่มต้นสตริง
-
เขียนฟังก์ชันแบบเรียกซ้ำซึ่งยอมรับสตริงพารามิเตอร์และดัชนีสองตัว
-
หากอักขระปัจจุบันเป็นจุดสิ้นสุดของสตริง ให้ส่งคืน
-
หากอักขระปัจจุบันเป็นตัวพิมพ์ใหญ่ ให้คืนค่าอักขระปัจจุบัน
ตัวอย่าง
มาดูโค้ดกันเลย
#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;
} ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
T
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น