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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
#1

Даны натуральное n и целые a1, a2, ., an. Найти сколько чисел входят в последовательность более чем по 1 разу - C++

09.10.2012, 11:47. Просмотров 1452. Ответов 10
Метки нет (Все метки)

Нужна помощь в написании задачи с массив. Условие:
Даны натуральное n и целые a1, a2, ..., an. Внутри последовательности могут быть повторяющихся членов. Найти сколько чисел входят в последовательность более чем по 1 разу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 11:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Даны натуральное n и целые a1, a2, ., an. Найти сколько чисел входят в последовательность более чем по 1 разу (C++):

Выяснить, сколько чисел входит в последовательность более чем по одному разу - C++
Даны целые числа а1,...,аn (в этой последовательности могут быть повторяющиеся члены). Выяснить, сколько чисел входит в последовательность...

Даны целые числа x1, ., xn. Определить количество чисел, входящих в последовательность по одному разу - C++
Помогите,вроде идея есть,но не могу написать правильно Даны целые числа x1, ..., xn. Определить количество чисел, входящих в...

Выяснить, сколько чисел входит в последовательность по одному разу - C++
Условие задачи написано в шапке кода программы. Я написал эту программу, программа работает. Но есть одно ключевое но: преподаватель мне...

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

Даны целые числа б1,.,бн.Выяснить сколько чисел входит в последовательность более чем по одному разу - Turbo Pascal
Даны целые числа b1,...,bn (в этой последовательности могут быть повторояющиеся члены). Выяснить сколько чисел входит в последовательность...

Сколько чисел и какие входят в последовательность более чем по одному разу - Java SE
вот задачка: Дана последовательность чисел а1, а2, …, аn. Выяснить, сколько чисел и какие входят в последовательность более чем по...

10
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
09.10.2012, 12:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <algorithm>
 
const int N = 25;
 
int getRand(void) { return rand() % 10; }
 
int main(void)
{
    setlocale(LC_ALL,"Russian");
 
    int Array[N];
    std::generate(Array, Array + N, getRand);
    std::cout << "Исходная последовательность: " << '\n';
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
 
    std::sort(Array, Array + N);
 
    int currentSlip = 0;
    int count_Of_Elements_That_Meets_More_Than_Once = 0;
    while (currentSlip < N)
    {
        int count = std::count(Array + currentSlip, Array + N, Array[currentSlip]);
        if (count > 1)
            ++count_Of_Elements_That_Meets_More_Than_Once;
        currentSlip += count;
    }
    std::cout << "\n\n" << "Число элементов, встречающихся в последовательности более 1го раза: " <<
        count_Of_Elements_That_Meets_More_Than_Once << "\n\n";
    system("pause");
}
1
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
09.10.2012, 12:55 #3
C++
1
2
3
4
5
6
7
8
9
    std::array<int, N> Array;
    std::generate(Array.begin(), Array.end(), [](){return rand()%10;});
    std::cout << "Исходная последовательность: " << '\n';
    std::copy(Array.begin(), Array.end(), std::ostream_iterator<int>(std::cout, " "));
 
    std::sort(Array.begin(), Array.end());
    auto it = std::unique(Array.begin(), Array.end());
    std::set<int> Set(it, Array.end()); 
    std::cout << std::endl << "Result : " << Set.size() << std::endl;
1
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
09.10.2012, 13:15 #4
C++
1
2
3
4
    std::array<int, N> Array;
    /* ... */, [](){return rand()%10;});
/* ... */
    auto it = /*...*/
Вот всех этих штук нету в старом стандарте. А так конечно, код понятнее становится.
1
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
09.10.2012, 15:59  [ТС] #5
А можно сделать так, чтобы последовательность вручную задавалась?
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
09.10.2012, 16:05 #6
Добавьте
C++
1
2
3
4
5
6
7
int handSet(void)
{
    int a;
    std::cout << "Введите число: ";
    std::cin >> a;
    return a;
}
и замените тут:
C++
1
    std::generate(Array, Array + N, handSet);
1
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
10.10.2012, 15:09  [ТС] #7
Программу запустил, работает, но нужно немного не так
Надо, чтобы было 2 функции, одна задает массив, а другая решает задачу. Может кто знает как написать эти функции?
0
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
15.10.2012, 18:17  [ТС] #8
Надо, чтобы было 2 функции, одна задает массив, а другая решает задачу. Может кто знает как написать эти функции?
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
15.10.2012, 22:43 #9
SoSPB, вы в принципе знаете, что такое функция и как ее реализовать в С++? Если да, то в первую функцию выносите строчку
C++
1
std::generate(Array, Array + N, handSet);
а во вторую
C++
1
2
3
std::sort(Array.begin(), Array.end());
auto it = std::unique(Array.begin(), Array.end());
std::set<int> Set(it, Array.end());
1
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
16.10.2012, 18:15  [ТС] #10
I.M., Вот и проблема в том, что незнаю, как вынести так, чтобы работало. Пытался, но не получается(
0
SoSPB
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
23.10.2012, 17:23  [ТС] #11
Помогите, пжалуйста, разделить на три функции. Надо, чтобы первая была функция ввода массива, вторая- само тело программы, и третья- вывод...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2012, 17:23
Привет! Вот еще темы с ответами:

Выяснить, сколько чисел и какие входят в последовательность более чем по одному разу - Pascal ABC
8. Дана последовательность чисел а1, а2, …, аn. Выяснить, сколько чисел и какие входят в последовательность более чем по одному разу. ...

Выяснить, сколько чисел и какие входят в последовательность более чем по одному разу. - Pascal ABC
8. Дана последовательность чисел а1, а2, …, аn. Выяснить, сколько чисел и какие входят в последовательность более чем по одному разу. ...

Выяснить, сколько чисел входит в список более, чем по одному разу - Prolog
есть такая программа она рассчитывает сколько чисел входит 1 раз. domains n=integer* predicates po_1_razy(integer,integer,n,n) ...

Определить, сколько чисел встречается в массиве более, чем по одному разу - C#
Ввести одномерный массив, состоящий из n элементов, определить, сколько чисел встречается в массиве более, чем по одному разу. ...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
23.10.2012, 17:23
Ответ Создать тему
Опции темы

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