Добавьте два индекса в массиве char * - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть массив 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 (векторные и т. Д.)

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете использовать 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.
...