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

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

Войти
Регистрация
Восстановить пароль
 
Марина1312
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 70
#1

Элементы массива, встречающиеся в массиве 2 раза вывести единожды - C++

20.06.2013, 10:09. Просмотров 306. Ответов 2
Метки нет (Все метки)

как тут написать чтоб повторяющиеся элементы по одной цифре выводило,а не по две:
cout<<b[i];

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cout<<"Элементы встречающиеся в массиве В 2 раза: ";
k=0;
for (i=0;i<M-1;i++) {
 flag=0;
 for (j=0;j<M;j++)
   if (b[i]==b[j]) flag++;
 
 if (flag==2) {
     cout<<b[i];
    flag1=0;
    for (t=0;t<k;t++)
      if (c[t]==b[i]) flag1=1;
    if (flag1==0) {
      c[k]=b[i];
      k++;
    }
 }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 10:09     Элементы массива, встречающиеся в массиве 2 раза вывести единожды
Посмотрите здесь:

C++ Вывести на экран все слова, встречающиеся более 1 раза
C++ Вывести все элементы массива, встречающиеся более одного раза
C++ Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
C++ Упорядочить массив так, чтобы вначале были элементы встречающиеся более одного раза
C++ Найти все числа встречающиеся в массиве P строго два раза (не упорядочивая самого массива).
C++ Удалить из массива все элементы, встречающиеся ровно два раза
C++ В одномерном массиве найти элементы встречающиеся 2 раза и вывести их на экран
Вывести элементы массива, которые повторяются ровно два раза C++
C++ Из массива А удалить те элементы, встречающиеся и в массиве А и в массиве В хотя бы два раза
Удалить из массива все элементы, встречающиеся три раза C++
C++ Удалить элементы массива встречающиеся ровно два раза
C++ Выбрать все элементы массива встречающиеся более одного раза

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
20.06.2013, 13:53     Элементы массива, встречающиеся в массиве 2 раза вывести единожды #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Выводит элементы встречающиеся ровно 2 раза, без повторений.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    const int arr_size = 18;
    int arr[arr_size] = {0, 0, 1, 2, 7, 7, 2, 2, 7, 3, 5, 3, 3, 3, 3, 5, 7};
 
    for (int i = 0; i != arr_size; ++i) {
        int occurences = 0;
        for (int j = 0; j != arr_size; ++j)
            if ( arr[j] == arr[i] ) {
                if ( j >= i ) ++occurences;
                else break;
            }
        if (occurences == 2) std::cout << arr[i];
    }
 
    return 0;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6614 / 3805 / 495
Регистрация: 29.11.2010
Сообщений: 10,040
20.06.2013, 14:08     Элементы массива, встречающиеся в массиве 2 раза вывести единожды #3
Непонятно задание. По одной цифре, мб имеется ввиду все же число?
Т.е. вывести все неповторяющиеся числа.
Тогда можно так: запихать все в std::unordered_set, а далее простым обходом вывести. С сохранением порядка - записывать в вектор с предварительным поиском, т.е. найдено - проходим далее, не найдено - добавляем.
Также можно отсортировать и воспользоваться std::unique/std::unique_copy сразу в поток вывода
Yandex
Объявления
20.06.2013, 14:08     Элементы массива, встречающиеся в массиве 2 раза вывести единожды
Ответ Создать тему
Опции темы

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