Я пытаюсь декодировать входной файл, который выглядит примерно так:инкремента персонажи читают
abbaabbbbaababbaabababaabababaabbababaabababababababa...
и сравнить его с самодельной отображения я сделал с помощью двух массивов
int secretNumber[10];
string coding[10];
coding[0]="abb";
coding[1]="aabbbba";
coding[2]="abab";
...
Я не уверен, как я могу начать с чтения первого символа, который является «а», а затем проверить, находится ли он в массиве кодирования. Если он распечатает секретное кодирование и переместит следующий символ b. Если это не в массиве, добавьте следующий символ к первому в строку и проверьте, есть ли в массиве «ab», и если это не добавляет следующий символ, который делает «abb» и так далее.
Что-то вроде этого:
while (!(readFile.eof())){
for(int i=0; i<10; i++){
if(stringOfChars==coding[i]){
cout << secretNumber[i] <<endl;
//Now increment to next char
}
else{
//combine the current string with the next character
}
}
}
Вопрос: Как я могу идти о чтении в характере, если его матч переход к следующему символу, если не объединить текущий символ и следующий символ, пока есть совпадение.
вы на правильном пути. продолжать. также, если вы хотите получить ответ, задайте вопрос :-) –
Я думаю, вы могли бы попробовать использовать трю здесь. refer en.m.wikipedia.org/wiki/Trie – fizzbuzz
И вопрос в том? – PlasmaHH