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

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

Восстановить пароль Регистрация
 
Vladislav_Sh
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 14
18.10.2010, 23:47     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне #1
Дано натуральное число N и одномерный массив A1, A2, …, AN натуральных чисел. Найти элементы, которые встречаються в массиве не менее двух раз и которые лежат в диапазоне значений от m1 до m2 (определяються пользователем). Указать число вхождений найденных элементов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2010, 23:47     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне
Посмотрите здесь:

Найти все числа в заданном диапазоне, которые делятся на сумму своих цифр. C++
C++ Написать функцию, которая в заданном массиве определяет количество элементов, находящихся в диапазоне двух введённых чисел.
C++ В заданном массиве чисел в диапазоне [-99; 99] замените элементы с к1-го по к2-й на противоположные по знаку
C++ Строковые переменные: Найти все слова, в которых буква ''а'' входит не менее двух раз
C++ Найти и вывести на экран все элементы, которые которые повторяются более N/2 раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.10.2010, 00:17     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#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 N,m1,m2,count=0;
    cout<<"Введите N: ";
    cin>>N;
    cout<<endl;
    cout<<"Введите m1: ";
    cin>>m1;
    cout<<endl;
    cout<<"Введите m2: ";
    cin>>m2;
    cout<<endl;
    arr = new int[N];
    cout<<"Маcсив: ";
     for(int i=0; i<N; i++)
       {
         arr[i]=rand()%9;
         cout<<arr[i]<<"  ";
       }
     cout<<endl;
     for(int i=0; i<N; i++)
       {
          for(int j=i; j<N; j++)
               {
                  if(arr[i]==arr[j])
                    {
                       count++;
                    }
               }
            if((count>=2)&&((arr[i]>=m1)&&(arr[i]<=m2)))
             {
                cout<<arr[i]<<" ->"<<count<<endl;
             }
          count=0;
       }
  delete [] arr;
  system("pause");
  return 0;
}
Vladislav_Sh
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 14
19.10.2010, 01:05  [ТС]     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне #3
Большое спасибо.
Павда я не понял зачем эта arr[i]=rand()%9; строка
и чего идёт строка с i for(int i=0; i<N; i++) а потом с j for(int j=i; j<N; j++)
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.10.2010, 01:10     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне #4
Цитата Сообщение от Vladislav_Sh Посмотреть сообщение
arr[i]=rand()%9
Заполнение массива случайными числами!!!

и чего идёт строка с i for(int i=0; i<N; i++) а потом с j for(int j=i; j<N; j++)
Например, берем первый елемент массива, в цикле for(int j=i; j<N; j++) сравниваем его с каждым последующим, и считаем количество совпадений. Потом берем второй, и т.д. Для того, чтобы второй не сравнивать с первым, пишем j=i!!! А елементы массива считаются с 0, по етому в первом цикле i=0!!!
Yandex
Объявления
19.10.2010, 01:10     Найти элементы, которые встречаються в массиве не менее двух раз и лежащие в заданном диапазоне
Ответ Создать тему
Опции темы

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