ในปัญหานี้ เราจะได้รับสตริง และต้องหาตัวอักษรที่ซ้ำทั้งหมดพร้อมกับจำนวนครั้งที่เกิดขึ้นในสตริง
ตัวอย่างเพื่อความเข้าใจ
Input: TutorialsPoint Output: t (3) o (2) i (2)
คำอธิบาย - ความถี่ของแต่ละตัวอักษรคือ t → 3; u → 1; o → 2; r → 1; i → 2; a → 1; s → 1; n → 1
ตอนนี้เพื่อแก้ปัญหานี้ เราจะหาจำนวนตัวอักษรและเก็บใน array จากสตริง แล้วพิมพ์ตัวอักษรและจำนวนครั้งที่เกิดขึ้นที่ freq มากกว่า 1
โปรแกรมตัวอย่าง
#include <iostream>
using namespace std;
#define NO_OF_CHARS 256
class duplicate_char {
public:
void charCounter(char *str, int *count) {
int i;
for (i = 0; *(str + i); i++)
count[*(str + i)]++;
}
void printDuplicateCharacters(char *str) {
int *count = (int *)calloc(NO_OF_CHARS, sizeof(int));
charCounter(str, count);
int i;
for (i = 0; i < NO_OF_CHARS; i++)
if (count[i] > 1)
printf("%c\t\t %d \n", i, count[i]);
free(count);
}
};
int main() {
duplicate_char dupchar;
char str[] = "tutorialspoint";
cout << "The duplicate characters in the string\n";
cout << "character\tcount\n";
dupchar.printDuplicateCharacters(str);
return 0;
}
ผลลัพธ์
The duplicate characters in the string character count
i 2 o 2 t 3