我有一个char *数组,我想将每两个连续的索引相加并将其存储在另一个数组中。例如,功能应该是这样的
char* wordsArray="The quick brown fox.";
char* array;
array=new char[size-1]; \\assume size is a declared variable
for(int i=0; i<size-1; i++)
array[i]=wordsArray[i]+wordsArray[i+1];
现在,数组在第一个索引上将具有“快速”,在第二个索引上将具有“快速棕色”,而在第三个索引上将具有“棕狐”。
做这种事情的正确方法是什么?
编辑:假设我们不能使用内置的STL类和算法( vector 等)
最佳答案
您可以使用std::vector
和std::string
轻松完成此操作。
#include <iostream>
#include <vector>
int main()
{
std::vector<std::string> wordsArray = {"The", "quick", "brown", "fox."};
std::vector<std::string> array;
int size = wordsArray.size();
for(int i=0; i<size-1; i++)
array.push_back(wordsArray[i]+ " " + wordsArray[i+1]);
for(int i=0; i<size-1; i++)
std::cout << array[i] << "\n";
return 0;
}
输出:
The quick
quick brown
brown fox.