Create a program that suggests possible anagram rearrangements for a given word. Given a
word, your program should generate a list of meaningful anagrams that can be formed
using the letters of the word.
a) Develop a C program that generates and displays a list of anagram rearrangements for a
given word.
b) Enhance the program by filtering generated anagrams against a predefined list of
meaningful words.
c) Prevent duplicate anagrams in the list using arrays and loops in C.
d) Extend the program to handle anagram rearrangements of multi-word phrases or
sentences.
e) Implement a version of the program with visual output, such as a console-based
graphical interface, for displaying anagram rearrangements