Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Anagram ในภาษา C คืออะไร

Anagram strings คือ สตริงที่ตัวอักษรทุกตัวปรากฏจำนวนครั้งเท่ากันในอีกสตริงหนึ่ง

ผู้ใช้ป้อน 2 สตริง นับจำนวนครั้งของแต่ละตัวอักษร (a-z) ในทั้งสอง แล้วเปรียบเทียบ ถ้าตัวอักษรทุกตัวมีความถี่เท่ากัน คือ anagram

ตัวอย่าง 1

String 1 - abcd

String 2 - bdac

ทั้งคู่มีตัวอักษรเดิมครบ 1 ครั้ง → เป็น anagram

ตัวอย่าง 2

String 1 - programming

String 2 - gramming

Output - ไม่ใช่ anagram

ตัวอย่างโปรแกรม

โปรแกรม C ตรวจสอบ anagram:

#include <stdio.h> int check_anagram(char [], char []); int main(){    char a[1000], b[1000];    printf("Enter two strings\n");    gets(a);    gets(b);    if (check_anagram(a, b))       printf("The strings are anagrams.\n");    else       printf("The strings aren't anagrams.\n");       return 0; } int check_anagram(char a[], char b[]){    int first[26] = {0}, second[26] = {0}, c=0;    // นับความถี่ตัวอักษรสตริงแรก    while (a[c] != '\0') {       first[a[c]-'a']++;       c++;    }    c = 0;    while (b[c] != '\0') {       second[b[c]-'a']++;       c++;    }    // เปรียบเทียบความถี่    for (c = 0; c < 26; c++)    if (first[c] != second[c])       return 0;       return 1; }

ผลลัพธ์

Run 1: Enter two strings abcdef deabcf The strings are anagrams. Run 2: Enter two strings tutorials Point The strings aren't anagrams.