Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
#1

Определить есть ли в последовательности хотя бы два одинаковых элемента - C++

16.06.2014, 10:43. Просмотров 782. Ответов 18
Метки нет (Все метки)

Помогите пожалуйста, срочно нужен код программы на С++. Чем проще будет написана тем лучше и комментарии чтобы понять код
Даны натуральное число n, натуральные числа a1..., an. Определить есть ли в последовательности хотя бы два одинаковых элемента
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 10:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить есть ли в последовательности хотя бы два одинаковых элемента (C++):

Определить, есть ли в бинарном дереве хотя бы два одинаковых элемента
Задано бинарное дерево. Определить, есть ли в этом дереве хотя бы два ...

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

Составить программу, которая проверяет, есть ли в vector хотя бы два одинаковых элемента
составить программу, которая проверяет, есть ли в vector хотя бы два одинаковых...

Определить есть ли в последовательности хотя бы одна пара одинаковых чисел
Помогите пожалуйста решить задачи Дана последовательность натуральных чисел...

Определить, есть ли в матрице два одинаковых элемента
Помогите решить задачу. Сам новичок в С++ 1. Определить, есть ли в данном...

Определить, есть ли в данном бинарном дереве два одинаковых элемента
Взял задание на лето по курсу "Дискретная и вычислительная математика". Одно...

18
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 10:52 #2
отсортировать (std::sort) и пройтись по отсортированному массиву, сравнить каждые парные элементы.
0
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 10:54  [ТС] #3
я знаю что там надо сортировать, но мне сейчас нужен готовый код. Если у кого-нибудь есть или может помочь, то буду очень благодарен
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 10:56 #4
ну так напишите. за 5 минут пишется.
если не получится, выкладывайте сюда, исправим.
1
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 10:58  [ТС] #5
я же говорю что не могу я сейчас написать, мне нужен код
0
Хедин
16.06.2014, 12:18
  #6

Не по теме:

mamaev, вы пришли из будущего, что бы убить Сару Коннор? "Мне нужна твоя одежда и код!" (с)

0
SatanaXIII
16.06.2014, 12:42
  #7
 Комментарий модератора 
Господа, что непонятного? Человеку нужен готовый код, а не пожелания.
0
Хедин
74 / 69 / 55
Регистрация: 17.05.2014
Сообщений: 301
16.06.2014, 12:57 #8
mamaev, ну вот вам самый элементарный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstdlib>
#include <time.h>
 
using namespace std;
 
const int n = 7;
 
int main()
{
    srand(time(NULL));
    int a[n];
    for (int i = 0; i < n; i++)
        a[i] = rand()%10;
    for (int i = 0; i < n-1; i++)
        for (int j = i+1; j < n; j++)
            if (a[i] == a[j]) { cout << "Sovpadaet chilo " << a[i] << endl; return 0; }
    cout << "Net odinakovix shisel" << endl;
    return 0;
}
0
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 13:01  [ТС] #9
она не работает. Ну лично у меня вообще не запускается
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 13:04 #10
тогда лучше так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        srand(time(NULL));
        static const int n = 7;
        int a[n];
        for (int i = 0; i < n; ++i) {
            a[i] = rand() % 10;
        }
 
        std::sort(a, a + n);
 
        for (int i = 0; i < n - 1; ++i) {
            if (a[i] == a[i + 1]) {
                _tprintf(TEXT("Sovpadaet chilo %d\n"), a[i]);
                return 0;
            }
        }
 
        _tprintf(TEXT("Net odinakovix shisel\n"));
 
        return 0;
0
Хедин
74 / 69 / 55
Регистрация: 17.05.2014
Сообщений: 301
16.06.2014, 13:21 #11
mamaev, а должна работать. Ничего сверхъестественного там не используется
0
SatanaXIII
Супер-модератор
Эксперт С++
5765 / 2763 / 374
Регистрация: 01.11.2011
Сообщений: 6,717
Завершенные тесты: 1
16.06.2014, 13:26 #12
Цитата Сообщение от mamaev Посмотреть сообщение
Ну лично у меня вообще не запускается
В таких случаях неплохо было бы объяснить как вы что делали и что точно происходит.
А вообще попробуйте вот так:
C++
17
   if (a[i] == a[j]) { cout << "Sovpadaet chilo " << a[i] << endl; cin.ignore(); return 0; }
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 13:44 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        static const int n = 7;
        std::vector<int> a(n);
        std::generate(a.begin(), a.end(), rand);
        std::sort(a.begin(), a.end());
        auto ptr = std::adjacent_find(a.begin(), a.end());
 
        if (a.end() != ptr) {
            _tprintf(TEXT("Sovpadaet chilo %d\n"), *ptr);
        } else {
            _tprintf(TEXT("Net odinakovix shisel\n"));
        }
 
        return 0;
вместо цикла кстати
0
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 17:05  [ТС] #14
кто-нибудь может кинуть целый, а главное работающий код этой программы?
0
Хедин
74 / 69 / 55
Регистрация: 17.05.2014
Сообщений: 301
16.06.2014, 19:46 #15
mamaev, если у вас ни один вариант не компилируется, то это скорее всего проблема у вас. Ищите причину неполадки, лично мой код запускается без проблем
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 05:16 #16
В какой среде запускаете?
0
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
17.06.2014, 09:52  [ТС] #17
Microsoft visual studio 2010
консоль Win32
0
Trwsdf
Заблокирован
17.06.2014, 10:07 #18
Цитата Сообщение от mamaev Посмотреть сообщение
Чем проще будет написана тем лучше
держи
C++
1
2
3
4
5
6
template<class _T, size_t _count> bool is_two_equal_elements(const _T * __array) noexcept(noexcept(map<_T, size_t>())) {
    map<_T, size_t> result;
    for (size_t i = 0; i < _count; i++)
        if (++result[__array[i]] == 2)return true;
    return false;
}
0
Хедин
74 / 69 / 55
Регистрация: 17.05.2014
Сообщений: 301
17.06.2014, 17:53 #19
mamaev, должно работать. А какие ошибки пишет?
0
17.06.2014, 17:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 17:53
Привет! Вот еще темы с решениями:

Определить, есть ли в строке(string) хотя бы одно число и определить есть ли в тексте хотя бы два числа.
Помогите пожалуйста с заданиями. Определить, есть ли в строке(string) хотя бы...

Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседных" чисел
дано последовательность натуральных чисел а1,а2..а10. Определить есть ли в...

Проверить есть ли среди трех чисел хотя бы два одинаковых
1.Дано три натуральних числа. З’ясувати, чи є серед них хоча б два однакових...

Проверить, что в массиве, введенном с клавиатуры, есть два соседних одинаковых элемента
Привет. Нуждаюсь в помощи!!! Нужно написать программу, какая выводит, что в...


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

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

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