Аватар для egorikem
8 / 8 / 4
Регистрация: 05.10.2010
Сообщений: 137

Найти количество повторов в массиве

18.10.2010, 17:22. Показов 9048. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как найти количиство повторов в массиве длиной вводимой с клавы? О_о
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2010, 17:22
Ответы с готовыми решениями:

В массиве записаны оценки, найти количество пятерок, количество четверок, количество троек и количество двоек
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса. Определить количество пятерок, количество четверок,...

Замена повторов в массиве
Имеется рандомный одномерный массив. Необходимо подсчитать количество повторяемых чисел, стоящих радом и заменить их. Например: ...

Найти в массиве максимальный и минимальный элементы в массиве и их количество
Помогите, пожалуйста, начал осваивать c++...Не могу справиться с такой задачей: Написать программу, которая вводит с клавиатуры массив...

10
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.10.2010, 17:25
Если удручает размер массива, вводимый с клавиатуры, то динамическое распределение памяти вам в помосчь.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
18.10.2010, 17:52
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
32
33
34
35
36
37
//////////////////////////////////////////////////////////////////////////////////
//  Как найти количиство повторов в массиве длиной вводимой с клавы?
//////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <set>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>    T_nums;
typedef std::set<int>       T_num_set;
//////////////////////////////////////////////////////////////////////////////////
int  get_identical_numbers_quantity(const T_nums&  nums)
{
    T_num_set  num_set(nums.begin(), nums.end());
    return  nums.size() - num_set.size();
}
//////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите длину последовательности: ";
    int n;
    std::cin >> n;
    T_nums  nums(n);
    std::cout << "Введите "
              << n 
              << " целых чисел: "
              << std::endl;
    for(int i = 0; i < n; ++i)
    {
        std::cout << "-> ";
        std::cin >> nums[i];
    }
    std::cout << "В этой последовательности "
              << get_identical_numbers_quantity(nums)
              << " чисел, повторяющих уже существующие."
              << std::endl;
}
1
 Аватар для egorikem
8 / 8 / 4
Регистрация: 05.10.2010
Сообщений: 137
18.10.2010, 21:37  [ТС]
Спасибо! А можно попроще а то мы учим С++ месяц и меня за это... =)

Добавлено через 3 минуты
И можно типа ответ: повторяется (к примеру [5]) столько то раз =)
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
18.10.2010, 22:13
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
32
33
34
35
36
37
38
39
#include <iostream>
#include <ctime>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    srand((unsigned)time(NULL));
    int *arr;
    int size,count=0;
    cout<<"Введите длину массива: ";
    cin>>size;
    arr = new int[size];
    cout<<"Массив: ";
     for(int i=0; i<size; i++)
       {
           arr[i]=rand()%9;
           cout<<arr[i]<<"  ";
       }
     for(int i=0; i<size; i++)
       {
         for(int j=0; j<size; j++)
          {
            if(arr[i]==arr[j])
              {
                 count++;
              }
          }
         cout<<endl;
         cout<<"arr["<<i<<"]= "<<count;
         count=0;
       }
  system("pause");
  delete [] arr;
  return 0;
}
1
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
18.10.2010, 22:40
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//////////////////////////////////////////////////////////////////////////////////
//  Как найти количиство повторов в массиве длиной вводимой с клавы?
//////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <vector>
#include <map>
//////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>    T_nums;
typedef std::map<int, int>  T_numbers_quantity;
//////////////////////////////////////////////////////////////////////////////////
void  print_identical_numbers_quantity(const T_nums&  nums)
{
    T_numbers_quantity  numbers_quantity;
    for(T_nums::const_iterator  num_it = nums.begin(); num_it != nums.end(); ++num_it)
    {
        ++numbers_quantity[*num_it];    
    }
 
    for(T_numbers_quantity::const_iterator  NQ_it = numbers_quantity.begin();
        NQ_it != numbers_quantity.end(); ++NQ_it)
    {
        std::cout << "Число "
                  << NQ_it->first
                  << " повторяется в массиве "
                  << NQ_it->second
                  << " раз."
                  << std::endl;
    }
}
//////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите длину последовательности: ";
    int n;
    std::cin >> n;
    T_nums  nums(n);
    std::cout << "Введите "
              << n 
              << " целых чисел: "
              << std::endl;
    for(int i = 0; i < n; ++i)
    {
        std::cout << "-> ";
        std::cin >> nums[i];
    }
    print_identical_numbers_quantity(nums);
    std::cout << std::endl;
}
0
 Аватар для egorikem
8 / 8 / 4
Регистрация: 05.10.2010
Сообщений: 137
19.10.2010, 19:15  [ТС]
Цитата Сообщение от MILAN Посмотреть сообщение
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
32
33
34
35
36
37
38
39
#include <iostream>
#include <ctime>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    srand((unsigned)time(NULL));
    int *arr;
    int size,count=0;
    cout<<"Введите длину массива: ";
    cin>>size;
    arr = new int[size];
    cout<<"Массив: ";
     for(int i=0; i<size; i++)
       {
           arr[i]=rand()%9;
           cout<<arr[i]<<"  ";
       }
     for(int i=0; i<size; i++)
       {
         for(int j=0; j<size; j++)
          {
            if(arr[i]==arr[j])
              {
                 count++;
              }
          }
         cout<<endl;
         cout<<"arr["<<i<<"]= "<<count;
         count=0;
       }
  system("pause");
  delete [] arr;
  return 0;
}
А можно чтоб вводил элементы массива сам человек!!!!
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
19.10.2010, 19:30
Да, конечно:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <ctime>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
        setlocale(LC_ALL,"Russian");
        srand((unsigned)time(NULL));
        int *arr;
        int size,count=0;
        cout<<"Введите длину массива: ";
        cin>>size;
        arr = new int[size];
          for(int i=0; i<size; i++)
           {
                   cout<<"Введите елемент: "<<i<<" ";
                   cin>>arr[i];
                   cout<<endl;
            }
          cout<<"Массив: ";
             for(int i=0; i<size; i++)
                {
                   cout<<arr[i]<<"  ";
               }
         
         for(int i=0; i<size; i++)
           {
         for(int j=0; j<size; j++)
                  {
            if(arr[i]==arr[j])
                          {
                 count++;
                          }
                  }
                 cout<<endl;
                 cout<<"arr["<<i<<"]= "<<count;
                 count=0;
           }
  system("pause");
  delete [] arr;
  return 0;
}
0
 Аватар для egorikem
8 / 8 / 4
Регистрация: 05.10.2010
Сообщений: 137
23.10.2010, 12:30  [ТС]
MILAN, А можно чтоб в конце выводилась одна строка и только с повтором а не все элементы???
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
23.10.2010, 12:40
Так пойдет?

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
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <ctime>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
        setlocale(LC_ALL,"Russian");
        srand((unsigned)time(NULL));
        int *arr;
        int size,count=0;
        cout<<"Введите длину массива: ";
        cin>>size;
        arr = new int[size];
          for(int i=0; i<size; i++)
           {
                   cout<<"Введите елемент: "<<i<<" ";
                   cin>>arr[i];
                   cout<<endl;
            }
         for(int i=0; i<size; i++)
           {
             count=0;
             for(int j=0; j<size; j++)
              {
                if(arr[i]==arr[j])
                  {
                    count++;
                  }
              }
           if(count>1)
                 {
                    cout<<"arr["<<i<<"]= "<<count<<endl;
                  }
           }
  system("pause");
  delete [] arr;
  return 0;
}
0
 Аватар для egorikem
8 / 8 / 4
Регистрация: 05.10.2010
Сообщений: 137
23.10.2010, 13:36  [ТС]
Слых у тебя так сказать ошибка! Надо его сначала отсортировать!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2010, 13:36
Помогаю со студенческими работами здесь

Количество повторов строк в последовательности
Задача № 1563 с acm.timus.ru Как известно, в небоскрёбах часто располагаются магазины, в которые ходят гламурные модницы. Любимое...

В массиве Z (m) найти количество дежурств знака, то есть количество переходов с минуса на плюс и наоборот. Например, в последовательности 0, - 2, 0 -
В массиве Z (m) найти количество дежурств знака, то есть количество переходов с минуса на плюс и наоборот. Например, в последовательности...

Найти количество чисел Фибоначчи в массиве. Отсортировать по убыванию все столбцы матрицы. Подсчитать количество слов в
Друзья, помогите пожалуйста. 1. Используя функции сформировать с помощью ДСЧ одномерный массив и вывести его на печать. 2. Выполнить...

Количество повторов пар букв в строке
Добрый день! Решаю задачу из Страуструпа &quot;Напишите функцию, которая подсчитывает количество повторов пар букв в строке типа string&quot; ...

Количество повторов каждого из элементов матрицы
Пользователь вводит матрицу размерностью NxM из целых положительных чисел. (Создайте функцию), которая считает количество повторов...


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

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

Новые блоги и статьи
Облачные приложения на Rust: руководство по архитектуре микросервисов
golander 13.07.2025
Когда я впервые взялся за проектирование облачной платформы для одного из наших клиентов, выбор стоял между привычными Go и Java. Но после нескольких месяцев разработки микросервисной системы,. . .
Как Node.js выполняет асинхронные операции
Reangularity 13.07.2025
Каждый раз, когда я рассказываю про Node. js, возникает один и тот же вопрос: "Как эта штука может быть быстрой, если JavaScript — однопоточный язык?" И это действительно кажется парадоксом. Ведь в. . .
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru