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

вывод максимального числа которое повторяется больше одного раза. - C++

Восстановить пароль Регистрация
 
demka_s
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 14
13.12.2010, 15:15     вывод максимального числа которое повторяется больше одного раза. #1
Здравствуйте....
Вот программа которая работает, но меня смущает что я не знаю как прописат что если чисел повторяющих в массиве не будет то нучно чтоб он выдал что нету типо повторения...
как это записать.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <clocale>
#include <time.h>
#include <stdlib.h>
int r, gr; // r - размерность массива; ans - ответ на вопрос; gr - граница рандома
int ans;
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    cout<<"Введите размерность массива ";
    cin>>r; 
    int *massiv = new int[r];// массив 1
    int *massiv2 = new int[r];// массив 2
    cout<<"Генерировать элементы массива случайным образом??? \n"<<"1 - да \n"<<"2 - нет \n";
    cin>>ans;
 
    switch (ans)
    {
    
    case 1:
 
        srand (1);//rnd
            srand((unsigned)time(NULL));//rnd
            cout<<"Задайте границу генерации случайных чисел:\n";
            cin>>gr;
            cout<<"Исходный массив:\n";
                for(int i=0; i<r; i++)
                    {
                        massiv[i]=rand()%gr;
                        cout<<massiv[i];
                    }
                cout<<"\n";
    break;
 
    case 2: 
    
        cout<<"Введите элементы массива \n";
                for ( int i=0; i<=(r-1); i++)
                    {
                        cin>> massiv[i];
                    }
    break;
    
    }// конец switch
 
 
                
    for (int i=0; i<r; i++)                         //перенос повторяющихся элементов из одного массива в другой
    {
        for (int j=0; j<r; j++)
        {
            if ((massiv[i]==massiv[j])&&(i!=j))
            massiv2[i]=massiv[i];
            
        }
    }
 
 
    double max = massiv2[0];//поиск максимального элемента массива 2
    for (int i=1; i<=(r-1); i++)
    { if (massiv2[i]>max)
        {max=massiv2[i];
            }
    }
    cout<<"максимальный элемент среди встречающихся: "<<max<<"\n";
 delete [] massiv;
 delete [] massiv2;
        
        
return 0;
    }
но я думаю что нужно это записать в двойном цикле.... т.е как я думаю тут
C++
1
2
3
4
5
6
7
8
9
for (int i=0; i<r; i++)                         //перенос повторяющихся элементов из одного массива в другой
    {
        for (int j=0; j<r; j++)
        {
            if ((massiv[i]==massiv[j])&&(i!=j))
            massiv2[i]=massiv[i];
            
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 15:15     вывод максимального числа которое повторяется больше одного раза.
Посмотрите здесь:

C++ Функция для поиска максимального числа в матрице, которое встречается более одного раза
C++ Узнать, какие элементы в массиве встречаются больше одного раза.
C++ Напечать число, которое меньше максимального элемента,но больше всех остальных элементов
Динамический многомерный массив. Нахождение макс. числа, которое в массиве встречаеться более 1 раза. C++
Массив. Нахождение максимального числа, повторяющегося более 1 раза. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 16:49     вывод максимального числа которое повторяется больше одного раза. #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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <clocale>
#include <time.h>
#include <stdlib.h>
int r, gr; // r - размерность массива; ans - ответ на вопрос; gr - граница рандома
int ans;
using namespace std;
int main()
{
        setlocale(LC_ALL,"Russian");
        cout<<"Введите размерность массива ";
        cin>>r; 
        int *massiv = new int[r];// массив 1
        int *massiv2 = new int[r];// массив 2
        cout<<"Генерировать элементы массива случайным образом??? \n"<<"1 - да \n"<<"2 - нет \n";
        cin>>ans;
 
        switch (ans)
        {
        
        case 1:
 
                srand (1);//rnd
                        srand((unsigned)time(NULL));//rnd
                        cout<<"Задайте границу генерации случайных чисел:\n";
                        cin>>gr;
                        cout<<"Исходный массив:\n";
                                for(int i=0; i<r; i++)
                                        {
                                                massiv[i]=rand()%gr;
                                                cout<<massiv[i];
                                        }
                                cout<<"\n";
        break;
 
        case 2: 
        
                cout<<"Введите элементы массива \n";
                                for (int i=0; i<=(r-1); i++)
                                        {
                                                cin>> massiv[i];
                                        }
        break;
        
        }// конец switch
 
 
        int i2=0;                      
        for (int i=0; i<r; i++)                                                 //перенос повторяющихся элементов из одного массива в другой
        {
                for (int j=i+1; j<r; j++)
                {
                        if ((massiv[i]==massiv[j])&&(i!=j))
                        {
                        massiv2[i2++]=massiv[i];
                        break;
                        }
                        
                }
        }
 
 
        if(i2==0)
            cout<<"максимальных элементов среди встречающихся нет"<<"\n";
        else
        {
            int max = massiv2[0];//поиск максимального элемента массива 2
            for (int i=1; i<i2; i++)
            {
                if (massiv2[i]>max)
                {
                    max=massiv2[i];
                }
            }
            cout<<"максимальный элемент среди встречающихся: "<<max<<"\n";
        }
 delete [] massiv;
 delete [] massiv2;
                 
return 0;
        }
demka_s
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 14
13.12.2010, 17:09  [ТС]     вывод максимального числа которое повторяется больше одного раза. #3
спасибо большое....

Добавлено через 3 минуты
Что такое i2???
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 17:25     вывод максимального числа которое повторяется больше одного раза. #4
Цитата Сообщение от demka_s Посмотреть сообщение
Что такое i2???
В массив massiv2[] записываются только повторяющиеся числа, которых будет меньше чем все числа в массиве massiv[].
Вот для этого и заводим i2 (своеобразный счетчик - указывающий очередное свободное место в массиве massiv2[]).
demka_s
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 14
13.12.2010, 17:36  [ТС]     вывод максимального числа которое повторяется больше одного раза. #5
вот сейчас делаю блок схему, и думаю как она выгледеть будет.... если я сюда скину что я написал, ты посмотришь!?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 17:48     вывод максимального числа которое повторяется больше одного раза. #6
demka_s, посмотрю
demka_s
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 14
13.12.2010, 17:49  [ТС]     вывод максимального числа которое повторяется больше одного раза. #7
А подскажи как мне показатель тебе здесь ну или гдето!?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 18:13     вывод максимального числа которое повторяется больше одного раза. #8
demka_s, Поверишь? сам не знаю, потому что никогда не показывал ничего, только код писал.
demka_s
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 14
13.12.2010, 18:22  [ТС]     вывод максимального числа которое повторяется больше одного раза. #9
зайди в аську которая у тебя написана
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 18:27     вывод максимального числа которое повторяется больше одного раза.
Еще ссылки по теме:

Разработать функцию, определяющую максимальное число, встречающееся в массиве больше одного раза C++
C++ Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго введенного числа по абсолютной величине. Числа вводя
Заменить нулями те числа последовательности, величина которых по модулю больше максимального числа C++

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 18:27     вывод максимального числа которое повторяется больше одного раза. #10
demka_s, Она сейчас не работает у меня. Если есть желание пиши в личку.
Yandex
Объявления
13.12.2010, 18:27     вывод максимального числа которое повторяется больше одного раза.
Ответ Создать тему
Опции темы

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