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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
#1

Удаление из массива всех элементов, встречающихся ровно два раза - C++

04.03.2012, 21:18. Просмотров 1592. Ответов 15
Метки нет (Все метки)

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

Удалить элементы массива встречающиеся ровно два раза - C++
дан массив, состоящий из 12 двоичных чисел. Удалить элементы, которые встречаются два раза

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

Удаление из списка элементов, входящих в него ровно 2 раза - C++
Дан список из n целых чисел а1, а2,...,аn. Удалить из списка все элементы, входящие в него в точности два раза.

Вывести элементы массива, которые повторяются ровно два раза - C++
Массив создать динамический. Язык - С++ Пример: Пусть даны числа: 1,2,5,2,3,3,3, Тогда вывести: 2

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

Определить элементы массива, которые входят в него ровно два раза - C++
Я новичок и у меня не получается решить задачу,возникают трудности с синтаксисом.Кому не сложно сделайте пж,через динамический массив

15
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
04.03.2012, 21:56 #2
Машенька1,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <algorithm>
 
int main() {
   std::vector <int> array = { 0, -1, 1, 0, 5, 4, 1, 3, 1, 3, 5 }; 
   for (int value : array) {
      if (std::count(
            array.begin(),
            array.end(),
            value
         ) == 2) { 
         array.erase(
            std::remove(
               array.begin(),
               array.end(),
               value
            ),
            array.end()
         );
      }    
   }
   
   std::cout << array.size() << std::endl;
   
   for (int value : array) {
      std::cout << value << " ";
   }
 
   return 0;
}
http://liveworkspace.org/code/05732f...0d8384a93f1793
0
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
04.03.2012, 22:27  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <algorithm>
 
int main() {
   std::vector <int> array = { 0, -1, 1, 0, 5, 4, 1, 3, 1, 3, 5 }; 
   for (int value : array) {
      if (std::count(
            array.begin(),
            array.end(),
            value
         ) == 2) { 
         array.erase(
            std::remove(
               array.begin(),
               array.end(),
               value
            ),
            array.end()
         );
      }    
   }
   
   std::cout << array.size() << std::endl;
   
   for (int value : array) {
      std::cout << value << " ";
   }
 
   return 0;
}
Помогите перевести из С в С++
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
04.03.2012, 22:49 #4
это и есть с++
1
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
05.03.2012, 09:48  [ТС] #5
программа 8 ошибок выдает,не пойму
0
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
05.03.2012, 09:49  [ТС] #6
но программа 8 ошибок выдает
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
05.03.2012, 09:59 #7
какие ошибки?
0
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
05.03.2012, 10:06  [ТС] #8
Код
c:\documents and settings\пользователь\naarray.cpp(6) : error C2552: 'array' : non-aggregates cannot be initialized with initializer list
c:\documents and settings\пользователь\naarray.cpp(7) : error C2143: syntax error : missing ',' before ':'
c:\documents and settings\пользователь\naarray.cpp(7) : error C2059: syntax error : ':'
c:\documents and settings\пользователь\naarray.cpp(7) : error C2143: syntax error : missing ';' before '{'
c:\documents and settings\пользователь\naarray.cpp(24) : error C2143: syntax error : missing ',' before ':'
c:\documents and settings\пользователь\naarray.cpp(24) : error C2086: 'value' : redefinition
c:\documents and settings\пользователь\naarray.cpp(24) : error C2059: syntax error : ':'
c:\documents and settings\пользователь\naarray.cpp(24) : error C2143: syntax error : missing ';' before '{'
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.03.2012, 10:23 #9
Машенька1, у Вас старый компилятор для такого синтаксиса.
0
Frequencies
0 / 0 / 2
Регистрация: 25.09.2011
Сообщений: 49
05.03.2012, 10:27 #10
Цитата Сообщение от fasked Посмотреть сообщение
Машенька1, у Вас старый компилятор для такого синтаксиса.
неужели 10 студия с подобным не может справиться?
0
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
05.03.2012, 10:30  [ТС] #11
мы с 10 не работаем( а нельзя переделать под старую?
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.03.2012, 10:42 #12
Цитата Сообщение от nameless Посмотреть сообщение
Машенька1,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <algorithm>
 
int main() {
   std::vector <int> array = { 0, -1, 1, 0, 5, 4, 1, 3, 1, 3, 5 }; 
   for (int value : array) {
      if (std::count(
            array.begin(),
            array.end(),
            value
         ) == 2) { 
         array.erase(
            std::remove(
               array.begin(),
               array.end(),
               value
            ),
            array.end()
         );
      }    
   }
   
   std::cout << array.size() << std::endl;
   
   for (int value : array) {
      std::cout << value << " ";
   }
 
   return 0;
}
http://liveworkspace.org/code/05732f...0d8384a93f1793

Не по теме:

Эх, вот как теперь просто в 10 студии писать, с точки зрения объема кода.

0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.03.2012, 10:59 #13
Цитата Сообщение от Frequencies Посмотреть сообщение
неужели 10 студия с подобным не может справиться?
Не может. В данном коде используется так называемый initializer_list, который был добавлен в стандарт C++11. В Visual Studio 2010 не поддерживается.
0
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
05.03.2012, 11:01  [ТС] #14
че мне теперь делать?
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.03.2012, 11:14 #15
Цитата Сообщение от Машенька1 Посмотреть сообщение
че мне теперь делать?
Подумать головой, все равно Вашему преподавателю скорее не понравится такое решение, думаю, он хочет увидеть велосипедный алгоритм, а не использование STL.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main() 
{
   int data[] = { 0, -1, 1, 0, 5, 4, 1, 3, 1, 3, 5 }; 
 
   std::vector <int> in, out; 
   std::copy(data, data + sizeof(data)/sizeof(data[0]), std::back_inserter(in)); 
 
   for (std::vector<int>::iterator it = in.begin(); it != in.end(); ++it)
      if (std::count(in.begin(), in.end(), *it) != 2)
         out.push_back(*it);
     
   std::copy(out.begin(), out.end(), std::ostream_iterator<int>(std::cout, " "));
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 11:14
Привет! Вот еще темы с ответами:

Сформировать массив C из элементов массива А, содержащихся в массиве В ровно 2 раза - C++
Добрый. У меня задание: &quot;Даны массивы целых чисел: A и B. Сформировать массив C из элементов массива А, содержащихся в массиве В ровно 2...

Даден массив. Все четные елементы массива уменьшыть в два раза, а нечетные увеличить в два раза. - C++
С++. Даден массив. Все четные елементы массива уменьшыть в два раза, а нечетные увеличить в два раза. Сложновато :sorry:

Скопировать элементы, которые встретились в массиве ровно два раза - C++
Знает кто-то, как решается задача на С++, при помощи одномерного динамичекого массива? Программа должна создать динамический массив из 20...

количество элементов в массиве встречающихся 2 раза - C++
дан одномерный массив состоящий из N элементов. Выяснить количество элементов в массиве А встречающихся более 2-х раз.


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
05.03.2012, 11:14
Ответ Создать тему
Опции темы

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