Вам нужно выделить место в ваших массивах или использовать std::vector
. Массивы word
и reversed
являются просто указателями, и пространство не выделяется. Язык C ++ не поддерживает динамические массивы; однако STL обеспечивает std::vector
, который динамически распределяет пространство по мере необходимости.
Изменение:
char[]words;
char[]reversed;
Кому:
#define MAX_LETTERS 64
char words[MAX_LETTERS + 1]; // + 1 for terminating nul character ('\0')
char reversed[MAX_LETTERS + 1];
Или:
#include <string>
std::string words;
std::string reversed;
Или:
#include <vector>
std::vector<char> words;
std::vector<char> reversed;
Что касается правил амбиграммы, вам нужно поговорить с вашим инструктором. Кроме того, если это домашнее задание, добавьте тег, указывающий на это.
Подсказка: тип данных std::string
имеет несколько обратных итераторов , которые могут быть вам полезны.