ในโปรแกรม เราได้รับชื่อสตริงที่แสดงถึงชื่อของบุคคล งานของเราคือสร้างโปรแกรมเพื่อค้นหาชื่อย่อของชื่อในภาษา C++
คำอธิบายโค้ด − ในที่นี้ เราต้องหาอักษรย่อของชื่อบุคคลที่ระบุโดยสตริง
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
name = “ram kisan saraswat”
ผลลัพธ์
R K S
คำอธิบาย
เราจะพบอักษรตัวแรกของคำชื่อ
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาอย่างง่ายคือการข้ามผ่านสตริงชื่อ และอักขระทั้งหมดที่ปรากฏหลังอักขระขึ้นบรรทัดใหม่หรืออักขระเว้นวรรคคือชื่อย่อและต้องพิมพ์เป็นตัวพิมพ์ใหญ่
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream>
using namespace std;
void findNameInitials(const string& name) {
cout<<(char)toupper(name[0]);
for (int i = 0; i < name.length() - 1; i++)
if(name[i] == ' ' || name[i] == '\n')
cout << " " << (char)toupper(name[i + 1]);
}
int main() {
string name = "ram kisan\nsaraswat";
cout<<"The initials of the name are ";
findNameInitials(name);
return 0;
} ผลลัพธ์
The initials of the name are R K S