Конвертировать предложение в Pig Latin в C ++ - PullRequest
3 голосов
/ 28 ноября 2011

Я новичок и не могу найти эффективный или не слишком сложный способ заставить эту программу работать.

Мне нужно взять предложение в виде массива (через cin.getline) и написать функцию, которая преобразует его в латиноамериканский код во втором массиве.

У меня есть готовый ввод и размер второго массива, но у меня возникли проблемы с тем, что я не могу придумать, как найти начало слов в исходном массиве, преобразовать его и поместите его в новый массив без создания цикла, содержащего инструкцию switch, где каждый случай содержит набор вложенных циклов.

Я должен сам создать все свои функции без использования файла библиотеки строк.

Любая помощь, предложения, идеи или примеры будут оценены.

редактирование:

Да, это университетское задание, но мне не нужен ответ, мне просто нужно руководствоваться в правильном направлении, потому что у меня нет идей.

Я пытался использовать цикл, чтобы найти начало каждого слова, а затем проверить, является ли первая буква слова гласным или согласным, а затем использовать цикл или вложенный цикл, чтобы изменить положение и поместить его в новый массив, но я в конечном итоге сделать его более сложным. Например, я использую цикл, чтобы найти начало слова, а затем ОГРОМНЫЙ оператор переключателя, чтобы решить, является ли гласный или согласный, и затем я получаю, что каждый случай является своего рода новым вложенным циклом, который мне не нужно перезаписывать. Сам позже в большей петле.

1 Ответ

3 голосов
/ 28 ноября 2011

ОК, несколько случайных идей:

  1. Пиглатизировать слово: если первая буква гласная, тривиальная; если нет, найдите первый гласный. Разделите строку на две части; вывод второй части плюс первая часть плюс «ау».

  2. Чтобы найти согласную, просто проверьте «не гласный». По сути, вам нужна только одна is_vowel() функция.

  3. Использовать std::string. Все, что вы будете делать, будет не изучать C ++.

Оставьте комментарий, если хотите спойлеры.

...