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

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

Войти
Регистрация
Восстановить пароль
 
mad_evan
Сообщений: n/a
#1

Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. - C++

21.06.2013, 23:00. Просмотров 1082. Ответов 7
Метки нет (Все метки)

Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие.
Был бы очень благодарен за помощь, потому что совсем не втупляю, как сделать(
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 23:00     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие.
Посмотрите здесь:
Дано натуральное число n, выяснить имеются ли среди чисел n, n+1,...,2n близнецы C++
Выяснить, имеются ли среди чисел совпадающие C++
Выяснить, имеются ли среди чисел а1, ..., аn совпадающие C++
Даны действительные числа a1, ., an. (n>=2 и заранее неизвестно). Выяснить, имеются ли среди чисел a1, ., C++
C++ Даны натуральное число n, целые числа a1,a2,...,an
C++ Даны натуральное число n, целые числа a1.an
C++ Даны целые числа. Выяснить, найдутся ли среди точек четыре таких, которые являются вершинами квадрата
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
21.06.2013, 23:01     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #2
самый простейший вариант парой циклов
Байт
Эксперт C
15663 / 9990 / 1499
Регистрация: 24.12.2010
Сообщений: 18,776
22.06.2013, 00:06     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #3
C++
1
2
3
4
5
6
7
for(i=0; i<n-1; i++) {
 for(j=i+1; j<n; j++)
  if (a[i]==a[j]) break;
 if (j <n) break;
}
if (i==n-1) cout<<"no");
else cout<<"Yes";
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
22.06.2013, 01:37     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #4
квадратичная сложность? Это не есть гуд вроде как.Можно по разному поступить.Если знаем диапазон значений - то через сортировку подсчётом.Ну а если не знаем, то сразу просится вгонять все элементы в set, а потом сравнитть размер set и кол-во чисел
Байт
Эксперт C
15663 / 9990 / 1499
Регистрация: 24.12.2010
Сообщений: 18,776
22.06.2013, 11:12     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Если знаем диапазон значений
Об этом варианте даже говорить не хочется... В условии на это - ни намека.
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
вгонять все элементы в set
Тут внешний цикл - перебор всех элементов.
А внутренний - вставка элемента в set, просто скрыт от глаз внутренними механизмами. Хотя... там может быть использовано что-то вроде хэширования... Возможно, вы и правы по большому счету... Но, ИМХО, не для данного случая, т.к.
Цитата Сообщение от mad_evan Посмотреть сообщение
совсем не втупляю
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
22.06.2013, 16:53     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #6
Байт, с set чуть чуть быстрее будет.Он там основан вродже на красно-чёрных деревьях.И если не ошибаюсь, то там асимптотика лучше идёт.

Но да, Вы правы, что я не тому человеку такой метод сказал=)
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.06.2013, 18:24     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #7
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Но да, Вы правы, что я не тому человеку такой метод сказал

Не по теме:

темы порой не только ТС просматривают порой кому-то что-то может быть интерсно

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 19:19     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие.
Еще ссылки по теме:
C++ Выяснить, имеются ли среди чисел n, n+1, ..., 2n близнецы, т.е. простые числа, разность между которыми равна двум.
C++ Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел C++
C++ Даны целые положительные числа M, N, число D и набор из M чисел. Сформировать матрицу размера M х N...
Даны целые числа с 1 до 95. Имеются ли два подряд нулевых элемента? C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
22.06.2013, 19:19     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. #8
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 <unordered_set>
#include <cstddef>
 
template <typename T>
bool allDifferent(const T* arr, const std::size_t size)
{
    std::unordered_set<T> uns;
    for (std::size_t i=0; i < size; i++)
    {
        if (uns.find(arr[i]) != uns.end())
            return false;
        uns.insert(arr[i]);
    }
    return true;
}
 
int main()
{
    const int arr[] = {19, 2, 5, 3, 9, 1, 0, 3}, N = sizeof(arr) / sizeof(*arr);
    std::cout << (allDifferent(arr, N) ? "No such" : "Has got") << std::endl;
}
Yandex
Объявления
22.06.2013, 19:19     Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие.
Ответ Создать тему
Опции темы

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