Напишите программу в c++. Дан массив из N целых чисел. Обнулить все повторяющиеся...

0 голосов

Напишите программу в c++. Дан массив из N целых чисел. Обнулить все повторяющиеся элементы массива. Результирующий массив вывести на экран.


спросил от (62 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от (52 баллов)

n - кол-во элементов в массиве, a[] - сам массив.

Алгоритм работает в тупую за O(n²)

Вот весь алгоритм:


for (int i = 0; i < n; i++) {

   for (int j = i - 1; j >= 0; j--) {

       int flag = 1;

       if (a[j] == a[i]) {

           flag = 0;

           break

       }

   if (flag)

       a[i] = 0;

оставил комментарий от (52 баллов)

Этот алгоритм оставляет ровно один элемент из повторяющихся. Если тебе и его необходимо обнулить, то после строчки flag = 0; добавь строчку a[j] = 0;

...