我有一项任务是创建一个块转置密码程序。用户将输入他们选择的短语,程序将去除短语的空格、标点符号并使其小写,然后读取其长度并创建一个二维数组,该数组的大小与最近的正方形大小相匹配,以适合所有变异字符串中的字符,并用随机字母填充剩余空间。
问题是,我在创建那个正方形时遇到了问题。
到目前为止我有这个:
int main()
{
string input;
cout << "Please enter message to cipher." << endl;
getline(cin, input);
/* do punctuation removal/mutation */
int strLength = input.length(); //after mutation
/* need to find the square here before applying sizes and values to arrays */
char * original = new char[][]; // sizes pending
char * transposed = new char[][]; // sizes pending
for (int i = 0; i <= /* size pending */ ; i++)
{
for (int j = 0; j <= /* size pending */ ; j++)
{
transposed[j][i] = original[i][j];
}
}
/* do more stuff here */
}
有任何想法吗?
(我已经完成了突变部分;使用备用代码进行了测试)