Игра в города список городов
Автор Best задал вопрос в разделе Другие языки и технологии
Игра "в города" и получил лучший ответ
Ответ от Ѓдачник[гуру]
Алгоритм примерно такой:
1) Принимаем от игрока слово и записываем в память.
2) Определяем последнюю букву и берем слово на эту букву из имеющейся базы заранее введенных слов.
3) Проверяем, чтобы это слово не совпадало ни с одним ранее введенным словом.
4) Если все нормально, выдаем это слово, если нет, возвращаемся к п. 2. Запоминаем его последнюю букву.
5) Принимаем следующее слово от игрока, проверяем, что его 1 буква равна последней букве предыдущего слова и что слово есть в базе.
6) Если игрок не нарушил правила и ввел правильное слово, то записываем его в память.
7) Возвращаемся на п. 2
8) Так до тех пор пока или игрок не нажмет кнопку "Хватит" (тогда выиграл компьютер) , или в базе слов слова не кончатся (тогда выиграл игрок) .
Но я С не знаю, так что написать не смогу.
Удачник
Высший разум
(135172)
Мы не сравниваем, мы в файле находим любое слово, которое начинается на эту букву. Предполагаем, что в файле слова по алфавиту расположены. Можно заранее сделать индексацию, и в программе искать не перебором от 1 слова до буквы Н, например, а сразу от 1200 до 1458, где расположены все города на букву Н.
Потом проверяем массив уже введенных слов, не было ли этого слова раньше введено.
Если не было, мы его выводим, а если было, то берем следующее слово на эту же букву.
Главная идея - нужно держать в памяти 2 массива, один - общая база всех названий городов, а второй - список тех городов, которые уже были названы.
На С? (обязательно на С?)
Вот вариант этой игры
Можете кго на Си переписать если требуется.