@maxonchjk

Как сравнить группу элементов в одномерном массиве в с++?

Дан целочисленный массив а1, а2,…, аn, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов нужно оставить только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями.
Я хоть и начал, но не знаю как дальше быть...
#include <iostream>
int main() {
setlocale(0, "");
int y;

std::cout << "Введите кол - во переменных в массиве: ";
std::cin >> y;

int* a = new int[y];
for (int i = 0; i < y; i++) {
    std::cout << "a[" << i << "] = ";
    std::cin >> a[i];
    }
 }
  • Вопрос задан
  • 155 просмотров
Решения вопроса 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Разбейте задачу на подзадачи:

1) Проверить, что данный элемент надо удалить
1.1) Проверить, что элемент не уникальный
1.2) Проверить, что элемент - не первый среди одинаковых (один-то его надо оставить)
2) Удалить элемент из массива дописав 0 в конце.

Все эти пункты выполняются циклом. в первых пунктах будет удобно завести булевую переменную, которая после цикла будет содержать значение проверки.
Ответ написан
Комментировать
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Если без велосипедов, это https://en.cppreference.com/w/cpp/algorithm/ranges...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы