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

единственный проход по массиву - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread197074.html
В программе предусмотреть ввод исходной информации о студентах: фамилия и инициалы; год рождения; год поступления в БГУИР; оценки за первый семестр (минимум три). вывести список студентов и их оценки. Фамилии студентов начинаются с букв B и G. Помогите. Упорно не хочет выводить год рождения; год поступления в БГУИР; оценки за первый семестр (минимум три). Выводит только фамилии. #include...
C++ Решение примера из строки Здравствуйте. Помогите, пожалуйста, сделать задание. С клавиатуры вводится пример "5+3-1+4" Нужно решить пример с применением функций isdigit и atoi. Заранее спасибо за ответы. http://www.cyberforum.ru/cpp-beginners/thread197073.html
C++ одномерный массив.
Даны два массива x содержащий k элементов и y содержащий n элементов и число q. Найти сумму вида x+y, наиболее близкую к числу q. напишите только как найти сумму x+y наиболее близкое к q... заранее спасибо.
C++ Сколько слагаемых должно быть в сумме
Сколько слагаемых должно быть в сумме 1+1/2+1/3+1/4+...+1/n, чтобы эта сумма оказалась больше 5 ? пажастики помогите.
C++ Создание меню http://www.cyberforum.ru/cpp-beginners/thread197066.html
необходимо создать в Turbo C меню из 5 пунтктов, первые 4 пункта выполняют открытие файла из какого либо каталога, а последний пункт - выход. Помогите пожалуйста
C++ циклы и n-ое количество наборов) собственно вот и сама задача Дано целое число K, а также K наборов ненулевых целых чисел. Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Найти количество наборов, элементы которых возрастают или убывают. как ее можно реализовать ? мне вот непонятно как сделать так чтобы в цикле при вводе 0, программа начала спрашивать следующий набор. если можно... подробнее

Показать сообщение отдельно
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
24.11.2010, 23:11     единственный проход по массиву
В общем случае?

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

Решение №2:
завести переменную int hash=0;
для каждого элемента массива, xor-ить его с hash: hash ^= a[i];
в конце, hash будет равен элементу массива, который встречается только один раз
 
Текущее время: 08:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru