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

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

Войти
Регистрация
Восстановить пароль
 
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
#1

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

08.05.2012, 20:33. Просмотров 736. Ответов 3
Метки нет (Все метки)

Все привет!) Есть программа. Возможно ли здесь создать определенный массив, а не рандомный?
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <time.h>
using namespace std;
 
int main()
{
    
    setlocale (LC_ALL, "Rus");
    //Включаем генератор псевдослучайных чисел
    srand(time( NULL ) );
    //Задаем размеры матрицы
    const int a = 5;
    const int b = 5;
    int s=0;
    int random;
    //Задаем размер массива детектора
    const int c = 200;
    //Инициализируем матрицу
    int myMatrix[a][b];
    //Инициализируем массив детектор
    int ch[c];
    int detect[c];
    int nul=0;
    int summ[a*b]={2,0,45,64,23,86,45,56,2};
    //Заполняем матрицу случайными числами в диапазоне от 1 до c
    for(int i = 0;i<a;i++)
    {
        for(int j = 0; j<b;j++)
        {
                    
                    random= rand()%c+1;
                //continue;
            
            //Внимание! Финт ушами, сгенерированное число сохраняем для проверку уникальности, но не как ЗНАЧЕНИЕ, а как АЙДИ массива, и присваиваем при этом ноль
            //В дальнейшем, в зависимости от того, какое число будет содержаться в этой ячейке, мы будем определять, число повторяемое - или нет
            if(ch[random]<0)
                            ch[random]=0;
            myMatrix[i][j] =  random;
            ch[random]++;
            cout<<random<<"     ";
            //cout <<myMatrix[i][j]<<' ';
        
            
        }
        cout<<endl;
    }
    //Собственно находим искомое максимальное число, по принципу - если значение в массиве с индексом i < 0, значит это число не содержится в матрице
    // если значение в массиве с индексом i = 1, значит оно попалось всего 1 раз, и не удовлетворяет нашему условию
    //если значение в массиве с индексом i > 1, значит оно содержится в матрице больше 1 раза и является максимальным, 
        //т.к. мы перебираем массив задом на перед. И при нахождении максимума - выходим из цикла
    for(int i=0; i<a; i++)
    {
        for (int k=0; k<b; k++)
        {       
            if (myMatrix[i][k]==0) 
            {
                nul++;
                break;
                
            }           
        }
    }
    s=a-nul;
    cout <<endl;
    cout <<"Количество строк, не содержащих ни одного нулевого элемента = "<<s<<endl;
    for(int i = c;i>0;i--)
    {
        if(ch[i]>1)
        {
            
            cout<<"Максимальный элемент  = " <<i<<endl;
            break;
        }
    }
    
    
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 20:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив. Нахождение максимального числа, повторяющегося более 1 раза. (C++):

Динамический многомерный массив. Нахождение макс. числа, которое в массиве встречаеться более 1 раза. - C++
День добрый! Повился вопрос, как лучше сделать... Отсортировать массив по возрастанию и потом проверять все числа или же, инициализировать...

Функция для поиска максимального числа в матрице, которое встречается более одного раза - C++
Функция для поиска максимального числа в матрице, которое встречается более одного раза. Спасибо!!! Добавлено через 1 час 12...

Выделить в другой массив все числа, которые встречаются более одного раза в исходном - C++
Всем привет.Помогите пожалуйста,очень надо,выручите,буду очень благодарен. Заполнить массив случайными числами и выделить в другой массив...

Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Помогите. Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Заменить нулями те числа последовательности, величина которых меньше в 2 раза максимального числа - C++
13. Даны действительные числа а1, а2,..., аn. Среди них есть положительные и отрицательные. Заменить нулями те числа, величина которых...

В заданной последовательности заменить нулями те числа, величина которых меньше в 2 раза максимального числа - C++
Даны действительные числа а1, а2,..., аn. Среди них есть положительные и отрицательные. Заменить нулями те числа, величина которых меньше в...

3
fghjk
3 / 3 / 0
Регистрация: 04.12.2011
Сообщений: 76
08.05.2012, 20:40 #2
где указываются переменные
C++
1
array[25] ={1,2,3,.....};
а вместо записи
C++
1
random= rand()%c+1;
вот это
C++
1
random = array[(i*5)+j];
1
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
08.05.2012, 22:26  [ТС] #3
fghjk, Спасибо большое! А можете вот объяснить строчку
C++
1
array[(i*5)+j];
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
09.05.2012, 09:50 #4
Цитата Сообщение от KOPC1886 Посмотреть сообщение
array[(i*5)+j];
это обычная индексация берём i умножаем на 5, прибавляем j - это номер массива
допустим i = 3 j = 4
значит random = array[(i*5)+j];
обозначает random = array[(3*5)+4];
получаем random = array[19];
0
09.05.2012, 09:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 09:50
Привет! Вот еще темы с ответами:

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

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

Нахождение максимального и минимального числа - C++
Здравствуйте. Помогите найти максимальное и минимальное число #include &lt;iostream&gt; using namespace std; int main() { ...

нахождение максимального числа dev C++ - C++
дана строка char с произвольными данными, например &quot;21,5 10,3 12 74&quot; (пробелов может быть несколько). Нужно найти максимальное число....


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

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

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