Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับคู่ของสระในสตริงที่กำหนดใน C++


เราได้รับสตริงของอักขระและภารกิจคือการคำนวณจำนวนคู่ที่มีองค์ประกอบทั้งสองเป็นสระ อย่างที่เราทราบกันดีว่ามีสระ 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