Я пытаюсь создать программу, которая может определить, являются ли два введенных слова анаграммами друг друга.Как проверить, являются ли два слова анаграммами в c
Способ, которым мне было сказано, чтобы мой учитель мог рассчитать, сколько из первой буквы одного слова есть, затем сравнить с другим, а затем повторить остальные буквы. Поэтому, если слово доходит до конца, тогда он считает их анаграммами. Однако это все, что он мне помог, и я действительно борюсь с этой проблемой.
Программа требуется печатать ли они или нет анаграммы, как это так,
Success! "Carthorse" and "Orchestra" are anagrams!
Edit: Спасибо, ребята за все ваши ответы, в то время как я понимаю всю идею позади них, я нахожу его очень трудно помещать их в код, сможет ли кто-нибудь просто написать аннотированный код для меня? Это не домашнее задание или что-то еще, это просто личный проект.
сортировать и сравнивать – Ksv3n
http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list для краткого начала вам понадобится массив –
Еще один способ - выделить карту (а точнее массив) каждого символа к его счету. Увеличьте его для первого слова, уменьшите на второе, если оно закончится во всех нулях, у вас есть анаграмма. Преимущество - предсказуемое время выполнения, но вы тратите некоторую память. – tux3