Как бы я вычитал элементы из 2 массивов?
У меня есть мой array_1[5]
массив с элементами {1, 2, 3, 4, 5}
а также array_2[3]
с элементами {2, 3, 5}
, На уроке математики мне казалось, что мне нужно только вычесть оставленные группы {1, 4}
, Я попытался вычесть массивы как целые числа, но я не могу понять, как правильно использовать индекс. Я также попытался отсортировать второй массив, а затем проверить, равны ли их индексы, но это не работает.
Как я могу сделать это в C ++?
Вы ищете разницу между двумя наборами, который является одним из стандартные алгоритмы
#include <algorithm>
#include <vector>
#include <iterator>
int array_1[] = { 1, 2, 3, 4, 5 };
int array_2[] = { 2, 3, 5 };
std::vector<int> difference;
std::set_difference(std::begin(array_1), std::end(array_1), std::begin(array_2), std::end(array_2), std::back_inserter(difference));
// difference now contains { 1, 4 }
Исходя из ваших комментариев, я предлагаю вам использовать ваши массивы как std :: vectors. Тогда это становится проще.
std::vector<int> array_1 = { 1, 2, 3, 4, 5 };
std::vector<int> array_2 = { 2, 3, 5 };
std::set_difference(array_1.begin(), array_1.end(), array_2.begin(), array_2.end(), std::back_inserter(difference));
Других решений пока нет …