имя входного файла: in.txt Условие: Шифр следующий: после каждого слова идёт число – позиция в файле, с которой начинается следующее слово. После него идёт позиция, с которой начинается следующее и т.д. Если позиция равна 0, значит сообщение расшифровано полностью.
Например: Hello 8 world 0
Читаем слово: Hello (и выводим в консоль) Читаем позицию следующего: 8 Она не равна 0: переходим на позицию 8 Читаем слово: world (и выводим в консоль) Читаем позицию следующего: 0 Она равна 0: конец шифра
В результате: Hello world
Или другой пример: This 33 a 23 message 0 secret 13 is 8
Читаем слово: This (и выводим в консоль) Читаем позицию следующего: 33 Она не равна 0: переходим на позицию 33 Читаем слово: is (и выводим в консоль) Читаем позицию следующего: 8 Она не равна 0: переходим на позицию 8 Читаем слово: a (и выводим в консоль) Читаем позицию следующего: 23 Она не равна 0: переходим на позицию 23 Читаем слово: secret (и выводим в консоль) Читаем позицию следующего: 13 Она не равна 0: переходим на позицию 13 Читаем слово: message (и выводим в консоль) Читаем позицию следующего: 0 Она равна 0: конец шифра
В результате: This is a secret message
Формат входных данных Слова и позиции следующих слов в файлике in.txt разделённые пробелами
Формат выходных данных Расшифрованное сообщение (слова разделённые пробелами)
Примечания Используйте обычный cin >> word >> num; для чтения слов и чисел, не надо мучиться с символами.
Условие:
Шифр следующий: после каждого слова идёт число – позиция в файле, с которой начинается следующее слово.
После него идёт позиция, с которой начинается следующее и т.д.
Если позиция равна 0, значит сообщение расшифровано полностью.
Например: Hello 8 world 0
Читаем позицию следующего: 8
Она не равна 0: переходим на позицию 8
Читаем слово: world (и выводим в консоль)
Читаем позицию следующего: 0
Она равна 0: конец шифра
В результате: Hello world
Или другой пример: This 33 a 23 message 0 secret 13 is 8
Читаем позицию следующего: 33
Она не равна 0: переходим на позицию 33
Читаем слово: is (и выводим в консоль)
Читаем позицию следующего: 8
Она не равна 0: переходим на позицию 8
Читаем слово: a (и выводим в консоль)
Читаем позицию следующего: 23
Она не равна 0: переходим на позицию 23
Читаем слово: secret (и выводим в консоль)
Читаем позицию следующего: 13
Она не равна 0: переходим на позицию 13
Читаем слово: message (и выводим в консоль)
Читаем позицию следующего: 0
Она равна 0: конец шифра
В результате: This is a secret message
Формат входных данных
Слова и позиции следующих слов в файлике in.txt разделённые пробелами
Формат выходных данных
Расшифрованное сообщение (слова разделённые пробелами)
Примечания
Используйте обычный
cin >> word >> num;
для чтения слов и чисел, не надо мучиться с символами.