Computer >> Máy Tính >  >> Lập trình >> lập trình C

Đảo ngữ trong ngôn ngữ C là gì?

Chuỗi đảo ngữ không là gì khác ngoài tất cả các ký tự xuất hiện cùng một số lần trong một chuỗi khác mà chúng tôi gọi là ký tự đảo ngữ.

Một người dùng nhập hai chuỗi. Chúng ta cần đếm số lần mỗi chữ cái ('a' đến 'z') xuất hiện trong chúng và sau đó, so sánh số lượng tương ứng của chúng. Tần suất của một bảng chữ cái trong một chuỗi là số lần nó xuất hiện trong đó.

Nếu hai chuỗi có cùng số lượng tần số của bảng chữ cái cụ thể thì chúng ta có thể nói hai chuỗi đó là đảo ngữ.

Ví dụ 1

Chuỗi 1 - abcd

Chuỗi 2 - bdac

Hai chuỗi này có các chữ cái giống nhau xuất hiện cùng một lúc. Vì vậy, hai chuỗi này là từ đảo ngữ.

Ví dụ 2

Chuỗi 1 - lập trình

Chuỗi 2 - vẽ đồ thị

Đầu ra - Các chuỗi không phải là từ đảo ngữ.

Ví dụ

Sau đây là chương trình C cho một phép đảo chữ -

 #include  int check_anagram (char [], char []); int main () {char a [1000], b [1000]; printf ("Nhập hai chuỗi \ n"); được (a); được (b); if (check_anagram (a, b)) printf ("Các chuỗi được đảo chữ. \ n"); else printf ("Các chuỗi không phải là ký tự đảo ngữ. \ n"); return 0;} int check_anagram (char a [], char b []) {int first [26] ={0}, second [26] ={0}, c =0; // Tính tần suất ký tự của chuỗi đầu tiên while (a [c]! ='\ 0') {first [a [c] - 'a'] ++; c ++; } c =0; while (b [c]! ='\ 0') {second [b [c] - 'a'] ++; c ++; } // So sánh tần suất của các ký tự for (c =0; c <26; c ++) if (first [c]! =Second [c]) return 0; trả về 1;} 

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

 Chạy 1:Nhập hai chuỗiabcdefdeabcfCác chuỗi là đảo chữ cái. Chạy 2:Nhập hai chuỗi