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

จำนวนคู่อักขระที่ระยะห่างเท่ากับตัวอักษรภาษาอังกฤษในภาษา C++


เราได้รับชุดอักขระและงานคือการคำนวณจำนวนคู่อักขระที่มีคู่อยู่ในระยะเดียวกับที่เรามีในตัวอักษรภาษาอังกฤษ

ป้อนข้อมูล − string str ='จุดสอน'

ผลผลิต − จำนวนคู่อักขระที่ระยะห่างเท่ากับตัวอักษรภาษาอังกฤษคือ:5

คำอธิบาย − ตัวละครที่มีระยะห่างเท่ากับตัวอักษรภาษาอังกฤษ ได้แก่ (u, t), (u, r), (t, r), (i, o) และ (s, n) มีทั้งหมด 5 คู่

ป้อนข้อมูล − string str ='การเรียนรู้คือนิสัยที่ดีที่สุด'

ผลผลิต − จำนวนคู่อักขระที่ระยะห่างเท่ากับตัวอักษรภาษาอังกฤษคือ 12

คำอธิบาย − ตัวละครที่มีระยะห่างเท่ากับตัวอักษรภาษาอังกฤษ ได้แก่ (r, i), (r, h), (n, i), (n, b), (i, g), (n, t), (g , ผม), (i, b), (s, h), (h, t), (s, t) และ (a, b) จึงมีทั้งหมด 12 คู่

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนสตริงของอักขระและส่งข้อมูลไปยังฟังก์ชัน

  • นับตัวแปรชั่วคราวเพื่อเก็บผลรวมของคู่ที่สามารถสร้างได้

  • คำนวณความยาวของสตริงโดยใช้ฟังก์ชัน length()

  • เริ่มวนรอบ FOR จาก i ถึง 0 จนถึงความยาวของสตริง

  • ภายในลูป เริ่มวนใหม่ FOR จาก j ถึง i+1 จนถึงความยาวของสตริง

  • ภายในลูป ตั้งค่า temp เป็น abs(str[i] - str[j])

  • ตรวจสอบ IF temp =abs(i-j) แล้วเพิ่มจำนวนขึ้น 1

  • จำนวนคืน

  • พิมพ์ผลลัพธ์

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int pairs_distance(string str){
   int count = 0;
   int len = str.length();
   for (int i = 0; i < len; i++){
      for (int j = i + 1; j < len; j++){
         int temp = abs(str[i] - str[j]);
         if (temp == abs(i - j)){
            count++;
         }
      }
   }
   return count;
}
int main(){
   string str = "Tutorials Point";
   cout<<"Count of character pairs at same distance as in English alphabets are: "<<pairs_distance(str);
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Count of character pairs at same distance as in English alphabets are: 5