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

Написать программу, которая находит в массиве значения, повторяющиеся два и более раз - C++

Восстановить пароль Регистрация
 
LVM
Сообщений: n/a
08.04.2013, 18:05     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз #1
Помогите решить задачу.

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

Массив состоит из 10 элементов, заполненный пользователем с клавиатуры.

p.s. Как объявить и заполнить массив - сложностей не вызывает. Интересен сам алгоритм нахождения одинаковых чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 18:05     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз
Посмотрите здесь:

C++ написать программу, которая считывает текст из файла, находит самое длинное слово и определяет сколько раз оно встретилось в тексте
C++ Написать программу,которая находит все слова,в которых буква "а" встречается больше чем один раз.
Написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран C++
C++ Написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран
C++ Написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 18:21     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз #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>
 
void print_recurring_items(int* numbers, size_t size);
 
int main()
{
    const size_t size_mas = 10;
 
    int numbers[size_mas];
 
    for(size_t i = 0; i < size_mas; ++i)
    {
        std::cout << "Enter numbers: ";
        std::cin >> numbers[i];
    }
 
    print_recurring_items(numbers, size_mas);
 
    return 0;
}
 
void print_recurring_items(int* numbers, size_t size)
{
    std::sort(numbers, numbers + size);
 
    for(size_t i = 1; i < size; ++i)
        if(numbers[i-1] == numbers[i])
            std::cout << numbers[i-1] << std::endl;
 
}
LVM
Сообщений: n/a
08.04.2013, 18:25     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз #3
GetVariable , спасибо!

Мы еще не изучали функции. Решить задачу надо с использованием массивов, и циклов и if
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 19:00     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
 
int main()
{
    const size_t size_mas = 10;
 
    int numbers[size_mas];
 
    for(size_t i = 0; i < size_mas; ++i)
    {
        std::cout << "Enter numbers: ";
        std::cin >> numbers[i];
    }
 
    std::sort(numbers, numbers + size_mas);
 
    for(size_t i = 1; i < size_mas; ++i)
        if(numbers[i-1] == numbers[i])
            std::cout << numbers[i-1] << std::endl;
 
    return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
08.04.2013, 20:49     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз #5
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <array>
#include <set>
 
int main()
{
    const size_t arraySize(10);
    std::array <int, arraySize> array;
 
    std::cout << "Input " << arraySize << " elements: ";
    for (unsigned i = 0; i < arraySize; i++)
        std::cin >> array.at(i);
 
    std::set <int> repeatedElements;
    for (auto currNum: array) {
        unsigned repeatCounter(std::count(array.begin(), array.end(), currNum));
        if (repeatCounter > 1)
            repeatedElements.insert(currNum);
    }
    std::cout << "Result: ";
    std::copy(repeatedElements.begin(), repeatedElements.end(), std::ostream_iterator <int> (std::cout, " "));
 
    return 0;
}
Yandex
Объявления
08.04.2013, 20:49     Написать программу, которая находит в массиве значения, повторяющиеся два и более раз
Ответ Создать тему
Опции темы

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