Анаграмма панаграмма [Си] - C (СИ)
Формулировка задачи:
Помогите пожалуйста с двумя задачками.
Собственно первая должна проверять являются ли пара слов/предложений анаграммой
и вторая проверять является ли предложение параграммой
Алфавит латинский. Без глобальных переменных. Если не затруднит с комментариями ну или хотя бы переменные обзовите со смысловой нагрузкой
Решение задачи: «Анаграмма панаграмма [Си]»
textual
Листинг программы
int panagram(const char* str, const char* alphabet)
{
printf("enter a pangarm: \n");
fgets(str,sizeof(str),stdin);
const char* ptr = alphabet;
while(*ptr)
if(strchr(str, *ptr++) == NULL)
return 0;
return 1;
}
Объяснение кода листинга программы
В данном коде представлена функция panagram, которая принимает два аргумента: строку str и строку alphabet. Сначала пользователю предлагается ввести строку, которая должна быть панаграмом (строка, состоящая из букв, которые встречаются в алфавите не более одного раза). Затем начинается цикл, который проходит по каждой букве алфавита. Если в строке str есть буква, которая соответствует текущей букве алфавита, то функция продолжает работу, иначе возвращает 0. Если все буквы алфавита присутствуют в строке str, то функция возвращает 1.