Ядро сброшено при использовании вектора <string> - PullRequest
0 голосов
/ 10 ноября 2018

Так что в Ubuntu я всегда сбрасываю ядро ​​при попытке выполнить эту функцию:

vector<string> inArray(vector<string> &array1, vector<string> &array2){
    vector<string> result;

        for(int i=0;i<array1.size();i++){

            for(int j=0;j<array2.size();j++){
                  if(array1[i] == array2[j])result.push_back(array1[i]);
            }

        }

      return result;
}

Может кто-нибудь сказать мне, что не так?

EDIT:

int main()
{
    vector<string> arr1{"arp", "live", "strong"};
    vector<string> arr2{"lively", "alive", "harp", "sharp", "armstrong"};

    vector<string> result = inArray(arr1, arr2);

    cout<<result[0];
    cout<<result[1];
    cout<<result[2];

    return 0;
}

Я занимался ката на Codewars.

1 Ответ

0 голосов
/ 10 ноября 2018

Вместо того, чтобы печатать результат [0], результат [1], результат [2], сначала проверьте размер векторного результата, и если он равен «0», то верните 0 или что-либо еще, и в противном случае верните вектор результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...