Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
anzhelika
1 / 1 / 0
Регистрация: 22.09.2010
Сообщений: 31
#1

За единственный проход по массиву найти неповторяющийся элемент - C++

24.11.2010, 23:05. Просмотров 712. Ответов 3
Метки нет (Все метки)

здравствуйте, уважаемые программисты.)
у меня такой вопросик: дан массив из нечетного кол-ва элементов, каждый из который встречается в массиве 2 раза, кроме одного элемента. как это осуществить за один проход по массиву в цикле?

Добавлено через 14 минут
т.е. найти нужно этот элемент, встречающийся 1 раз за 1 проход по массиву. вот)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2010, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос За единственный проход по массиву найти неповторяющийся элемент (C++):

Проход по массиву - C++
Всем здравствуйте, что то я сейчас затормозил. В общем суть задачки проста найти из данного массива (действительных чисел) первое число...

Проход по массиву и удаление одинаковых слов - C++
Доброе утро!Программа выполняет чтение вводимых слов с консоли и записывает каждое слово в массив по нажатию enter, чтение с консоли...

Метод поиска по массиву уникальных чисел за один проход - C++
Подскажите какой-нибудь интересный метод поиска по массиву для данного случая: Есть массив {1, 1, 2, 3, 3}; Надо найти неповторяющееся...

Определить, единственный ли в матрице максимальный элемент - C++
Определить, единственный ли в массиве(двумерном) максимальный элемент. Определить наибольшее количество одинаковых элементов в данном...

Определить, единственный ли в массиве максимальный элемент - C++
Определить, единственный ли в массиве максимальный элемент ,определить наибольшее количество одинаковых элементов в данном массиве.

Переменной Т присвоить значение истина, если максимальный элемент одномерного массива единственный и не превосходит наперед заданного числа А - C++
Прошу помочь решить задачки!:(очень нужно (Билет №11) Переменной Т присвоить значение истина, если максимальный элемент одномерного...

3
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
24.11.2010, 23:11 #2
В общем случае?

Создать set<int>, при проходе по массиву, если значение не найдено в set<int> добавить его туда, если уже найдено, то удалить. В конце, в set<int> будет всего один элемент, тот который встречается в массиве всего один раз.

Решение №2:
завести переменную int hash=0;
для каждого элемента массива, xor-ить его с hash: hash ^= a[i];
в конце, hash будет равен элементу массива, который встречается только один раз
1
anzhelika
1 / 1 / 0
Регистрация: 22.09.2010
Сообщений: 31
24.11.2010, 23:15  [ТС] #3
в общем случае.
вообще, это мне задали по дискретке. только я не могу понять, что такое set<int>?? не припомню такого в курсе с++.
0
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
24.11.2010, 23:27 #4
посмотри второй вариант

Добавлено через 1 минуту
вот тебе для саморазвития ссылка на set: http://cplusplus.com/reference/stl/set/. но во втором варианте это тебе не нужно.
0
24.11.2010, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2010, 23:27
Привет! Вот еще темы с ответами:

В целочисленном массиве имеется единственный нулевой элемент, разделяющий его на две части. В частном случае любой из подмассивов может быть пустым - C++
В целочисленном массиве имеется единственный нулевой элемент, разделяющий его на две части. В частном случае любой из подмассивов может...

Найти максимальный элемент массива и их количество за один проход по массиву - Pascal
Дан массив целых чисел. Найти максимальный элемент массива и их количество за один проход по массиву.

Найти первый неповторяющийся элемент в массиве - C (СИ)
Добрый день, подскажите пожалуйста, как найти в массиве 2 3 4 5 1 2 3 4 5 6 9 первый неповторяющийся элемент? т.е. в данном случае 1. ...

Найти неповторяющийся элемент массива без создания дополнительных массивов - Turbo Pascal
Дан массив целых чисел, где все числа, кроме одного, присутствуют два раза. Напиши программу, которая найдет это число за один проход по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru