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

0 голосов
61 просмотров

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


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

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 баллов)
0

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