เราได้รับชุดอักขระและงานคือการคำนวณจำนวนคู่อักขระที่มีคู่อยู่ในระยะเดียวกับที่เรามีในตัวอักษรภาษาอังกฤษ
ป้อนข้อมูล − 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