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

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

Восстановить пароль Регистрация
 
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 10:43     Определить есть ли в последовательности хотя бы два одинаковых элемента #1
Помогите пожалуйста, срочно нужен код программы на С++. Чем проще будет написана тем лучше и комментарии чтобы понять код
Даны натуральное число n, натуральные числа a1..., an. Определить есть ли в последовательности хотя бы два одинаковых элемента
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 10:43     Определить есть ли в последовательности хотя бы два одинаковых элемента
Посмотрите здесь:

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

Не по теме:

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

SatanaXIII
16.06.2014, 12:42
  #7
 Комментарий модератора 
Господа, что непонятного? Человеку нужен готовый код, а не пожелания.
Хедин
 Аватар для Хедин
73 / 68 / 36
Регистрация: 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;
}
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 13:01  [ТС]     Определить есть ли в последовательности хотя бы два одинаковых элемента #9
она не работает. Ну лично у меня вообще не запускается
Kukurudza
104 / 85 / 6
Регистрация: 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;
Хедин
 Аватар для Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
16.06.2014, 13:21     Определить есть ли в последовательности хотя бы два одинаковых элемента #11
mamaev, а должна работать. Ничего сверхъестественного там не используется
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5436 / 2560 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 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; }
Kukurudza
104 / 85 / 6
Регистрация: 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;
вместо цикла кстати
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
16.06.2014, 17:05  [ТС]     Определить есть ли в последовательности хотя бы два одинаковых элемента #14
кто-нибудь может кинуть целый, а главное работающий код этой программы?
Хедин
 Аватар для Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
16.06.2014, 19:46     Определить есть ли в последовательности хотя бы два одинаковых элемента #15
mamaev, если у вас ни один вариант не компилируется, то это скорее всего проблема у вас. Ищите причину неполадки, лично мой код запускается без проблем
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 05:16     Определить есть ли в последовательности хотя бы два одинаковых элемента #16
В какой среде запускаете?
mamaev
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 13
17.06.2014, 09:52  [ТС]     Определить есть ли в последовательности хотя бы два одинаковых элемента #17
Microsoft visual studio 2010
консоль Win32
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 17:53     Определить есть ли в последовательности хотя бы два одинаковых элемента
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Хедин
 Аватар для Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
17.06.2014, 17:53     Определить есть ли в последовательности хотя бы два одинаковых элемента #19
mamaev, должно работать. А какие ошибки пишет?
Yandex
Объявления
17.06.2014, 17:53     Определить есть ли в последовательности хотя бы два одинаковых элемента
Ответ Создать тему
Опции темы

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