- Прочитайте слово
- Преобразуйте его в нижний регистр
- Проверьте наличие дубликатов с помощью некоторого набора / хэш-таблицы такого типа.
ДляНапример, в C ++ вы можете использовать что-то вроде этого:
#include <set>
#include <string>
#include <iostream>
#include <algorithm>
#include <ctype.h>
struct lowercase {
std::string operator()(std::string const &s) const {
std::string ret(s);
std::transform(&s[0], &s[s.length()-1], &ret[0], tolower);
return ret;
}
};
int main() {
std::set<std::string> items;
std::transform(
std::istream_iterator<std::string>(std::cin),
std::istream_iterator<std::string>(),
std::inserter(items, items.begin()),
lowercase());
std::copy(items.begin(), items.end(),
std::ostream_iterator<std::string>(std::cout, "\n"));
return 0;
}