ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาอักขระ kth หลังจากถอดรหัสสตริง
สำหรับสิ่งนี้ เราจะจัดเตรียมสตริงที่จะประกอบด้วยอักขระ ตัวเลข และจำนวนเต็ม K หน้าที่ของเราคือถอดรหัสสตริงที่กำหนดและค้นหาอักขระที่ตำแหน่ง Kth
ตัวอย่าง
#include <cstdlib> #include <iostream> using namespace std; //finding decrypted Kth character char findKthChar(string s, int k) { int len = s.length(); int i = 0; int total_len = 0; while (i < len) { if (isalpha(s[i])) { total_len++; if (total_len == k) return s[i]; i++; } else { int n = 0; while (i < len && !isalpha(s[i])) { n = n * 10 + (s[i] - '0'); i++; } int next_total_len = total_len * n; if (k <= next_total_len) { int pos = k % total_len; if (!pos) { pos = total_len; } return findKthChar(s, pos); } else { total_len = next_total_len; } } } return -1; } int main() { string s = "ab2c3"; int k = 5; cout << findKthChar(s, k); return 0; }
ผลลัพธ์
c