У меня есть массив a={1,2,3,3,2,2,3,3}
, и мне нужно удалить дубликаты следующим образом:
1: a={1,2,2,2,3,3}
2: a={1,2,3,3}
3: a={1,2}
Мне нужно удалить 2 последовательных дубликата: (1,2,3,3 будет 1,2), (1,2,2,2 будет 1,2).
Вот моя попытка, но, как вы видите, мне нужна помощь.
#include <iostream>
int main()
{
int n;
std::cin >> n;
int a[n];
for (int i = 0; i < n; i++)
std::cin >> a[i];
int i, j;
for (i = 0; i < n; i++)
if (a[i] == a[i + 1]) {
for (j = i + 1; j < n; j++)
a[j - 1] = a[j];
n--;
i--;
}
if (n != 0)
for (int i = 0; i < n; i++)
std::cout << a[i] << " ";
return 0;
}
Моя проблема в том, что я не знаю, как удалить 2 последовательных значения.После нескольких попыток я не могу решить эту проблему.Заранее спасибо!