С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/64: Рейтинг темы: голосов - 64, средняя оценка - 4.55
-8 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 3
1

Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза

17.04.2018, 21:30. Показов 12132. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза, при этом каждое значение должно быть распечатано только один раз. Элементы следует распечатывать в том порядке, в котором они впервые встречаются в массиве.

Массив менять нельзя. Создавать новые массивы нельзя. Можно использовать вложенные циклы.

На вход программе сначала подаётся значение n<=100. В следующей строке расположены n элементов массива - целые числа, по модулю не превосходящие 30000.

Примеры
входные данные
8
4 3 5 2 5 1 3 5
выходные данные
3 5
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2018, 21:30
Ответы с готовыми решениями:

Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза
Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза, при...

Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза, при этом каждо
Распечатайте только те значения элементов массива, которые встречаются в нём более одного раза, при...

Распечатайте только те значения элементов массива, которые встречаются в нем ровно один раз
Помогите пожалуйста решить задачу: На вход программе сначала подается значение n 100 —...

Найти все элементы массива, которые встречаются в нем не более одного раза
Нужна помощь. Задание такого : в двумерном массиве А найти все элементы, которые встречаются в нем...

3
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,267
Записей в блоге: 6
18.04.2018, 04:56 2
Лучший ответ Сообщение было отмечено Gabbriell_XD2 как решение

Решение

"Вход", то бишь, ввод массива с клавиатуры, думаю, не проблема
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(void) {
 const int n = 8;
 int a[n] = { 4, 3, 5, 2, 5, 1, 3, 5 };
 for (int i=0; i<n; i++) {
  bool flag=false; //Элемент уже был раньше?
  for (int k=0; k<i; k++) if (a[k]==a[i]) { flag = true; break; }
  //Если нет, то ищем, нет ли повтора дальше 
  if (!flag) for (int j=i+1; j<n; j++) if (a[i]==a[j]) {
   cout << a[i] << " "; break;
  }
 }
 cin.get(); return 0;
}
0
308 / 289 / 116
Регистрация: 23.01.2018
Сообщений: 933
18.04.2018, 08:19 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <algorithm>
#include <iostream>
#include <iterator>
#include <unordered_map>
#include <vector>
 
using namespace std;
 
int main()
{
    vector<int> v;
    copy_n(istream_iterator<int>(cin), [](){int x; cin >> x; return x;}(), back_inserter(v));
    unordered_map<int, bool> m;
    for_each(cbegin(v), cend(v), [&m](const int x){bool u = m.find(x) == m.end(); m[x] = u;});
    copy_if(cbegin(v), cend(v), ostream_iterator<int>(cout, " "), [&m](const int x){auto it = m.find(x); if (it == m.end()) return false; bool u = it->second; m.erase(it); return !u;});
    cout << endl;
    return 0;
}
0
1 / 0 / 1
Регистрация: 22.05.2022
Сообщений: 27
12.03.2023, 22:06 4
почему этот код не работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int n;
    bool k;
    cin >> n;
    vector <int> a(n);
    for (int i=0;i<n;i+=1)
        cin >> a[i];
    for (int i=0;i<n;i+=1){
        k=true;
        for (int j=0;j<i;j+=1)
            if (a[i]==a[j])
                k=false;
        if (k){
            cout << a[i] << " ";
        }
    }
    return 0;
}
0
12.03.2023, 22:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2023, 22:06
Помогаю со студенческими работами здесь

Сформировать новый массив из элементов исходного массива, которые встречаются более одного раза
Напишите программу, которая выделяет в другой массив все элементы исходного массива, которые...

Напечатайте в алфавитном порядке символы текста, которые встречаются в нем более одного раза.
Напечатайте в алфавитном порядке символы текста, встречаются в нем более одного раза. И блок схему...

Для указанного текстового файла составьте список слов, которые встречаются в нем более одного раза
Сделайте плиз Я уже не могу Для указанного текстового файла составьте список слов, которые...

Реализовать функцию, возвращающую набор элементов, которые встречаются в массиве более одного раза
Функция принимает на вход массив целочисленных значений. Должна вернуть набор элементов, которые...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru