เราได้รับสตริงของอักขระและภารกิจคือการคำนวณจำนวนคู่ที่มีองค์ประกอบทั้งสองเป็นสระ อย่างที่เราทราบกันดีว่ามีสระ 5 ตัวในตัวอักษรภาษาอังกฤษ เช่น a, i, e, o, u และอักขระอื่นๆ เรียกว่าพยัญชนะ
ป้อนข้อมูล − string str ="จุดสอน"
ผลผลิต − นับคู่ของสระในสตริงที่กำหนดคือ:2
คำอธิบาย − จากสตริงที่กำหนด เราสามารถสร้างคู่เป็น (t, u), (u, t), (t, o), (o, r), (r, i), (i, a), (a, l ), (l, s), (s, p), (p, o), (o, i), (i, n) และ (n , t). ดังนั้นคู่ที่มีองค์ประกอบทั้งสองเป็นสระคือ (i, a) และ (o, i) ดังนั้นการนับคู่ของสระจึงเป็น 2
ป้อนข้อมูล − string str ="การเรียนรู้"
ผลผลิต − นับคู่ของสระในสตริงที่กำหนดคือ:1
ป้อนข้อมูล −จากสตริงที่กำหนด เราสามารถสร้างคู่เป็น (l, e), (e, a), (a, r), (r, n), (n, i), (i, n) และ (n, g ). ดังนั้นคู่ที่มีองค์ประกอบทั้งสองเป็นสระคือ (e, a) ดังนั้นการนับคู่ของสระจึงเป็น 1
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
ป้อนสตริงของอักขระในตัวแปรประเภทสตริง
-
คำนวณความยาวของสตริงโดยใช้ฟังก์ชัน length() ซึ่งจะคืนค่าจำนวนอักขระทั้งหมดในสตริง
-
ใช้การนับตัวแปรชั่วคราวเพื่อเก็บจำนวนคู่ของสระ
-
เริ่มวนรอบสำหรับจาก i ถึง 0 จนถึงความยาวของสตริง
-
ภายในลูป ให้ตรวจสอบว่า str[i] เป็น 'a' หรือ 'i' OR 'e' OR 'o' OR 'u' จากนั้นตรวจสอบว่า str[i+1] เป็น 'a' OR 'i' หรือ 'e ' OR 'o' OR 'u' แล้วเพิ่มค่าการนับขึ้น 1
-
คืนจำนวน
-
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int count_pairs(string str, int length){ int count = 0; for(int i=0 ;i<length-1; i++){ if(str[i]=='a' || str[i]=='i'||str[i]=='e'||str[i]=='o'||str[i]=='u'){ if(str[i+1]=='a'||str[i+1]=='i'||str[i+1]=='e'||str[i+1]=='o'||str[i+1]=='u'){ count++; } } } return count; } int main(){ string str = "tutorials point"; int length = str.length(); cout<<"Count the pairs of vowels in the given string are: "<<count_pairs(str, length); return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Count the pairs of vowels in the given string are: 2