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

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

Войти
Регистрация
Восстановить пароль
 
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
#1

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

14.04.2012, 20:54. Просмотров 425. Ответов 4
Метки нет (Все метки)

День добрый! Повился вопрос, как лучше сделать... Отсортировать массив по возрастанию и потом проверять все числа или же, инициализировать какой либо массив детектор без сортировки? Кусок программы, где создаёться массив, как на основе этого примера лучше сделать? Заранее признателен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    srand((unsigned)time(NULL));
    cout << "Matrix size N: ";
    cin >> size1;
    cout << endl;
    cout << "Matrix size M: ";
    cin >> size2;
    cout << endl;
    int **arr = new int * [size1];
    for (i=0; i<size1; i++)
    {
        arr[i] = new int [size2];
    }
    for (i=0; i<size1; i++)
    {
        for (j=0; j<size2; j++)
        {
            arr[i][j] = rand()%49-10;
            cout << arr[i][j] << "\t";
        }
 
            cout << endl;
    }
Добавлено через 26 минут
При инициализации методом массива детектора, появилась такая вот ошибка Необработанное исключение в "0x003543d1" в "Lab_rab_2_1.exe": 0xC0000005: Нарушение прав доступа при записи "0x60003060". Что может это значить? Код:
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
#include <iostream>
#include <ctime>
#include <conio.h>
 
using namespace std;
void main()
{
    
    int size1, size2, i, j;
    const int c=49;
    srand((unsigned)time(NULL));
    cout << "Matrix size N: ";
    cin >> size1;
    cout << endl;
    cout << "Matrix size M: ";
    cin >> size2;
    cout << endl;
    int x[c]; // Массив детектор
    int **arr = new int * [size1];
    for (i=0; i<size1; i++)
    {
        arr[i] = new int [size2];
    }
    for (i=0; i<size1; i++)
    {
        for (j=0; j<size2; j++)
        {
            int randomDigit = rand()%c-10;
            if(x[randomDigit] < 0)
                x[randomDigit] = 0;
            arr[i][j] = randomDigit;// указывает на эту строку
            x[randomDigit]++;
            cout<< randomDigit <<"\t";
        }
 
            cout << endl;
    }
    for(i = c; i>0; i--)
    {
        if(x[i]>1)
        {
            cout << "Maximum Repeated Element is = " << i;
            break;
        }
    }
    delete [] arr;
    cout << endl;
    cout << "Press Any Key to Exit...";
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический многомерный массив. Нахождение макс. числа, которое в массиве встречаеться более 1 раза. (C++):

Массив. Нахождение максимального числа, повторяющегося более 1 раза. - C++
Все привет!) Есть программа. Возможно ли здесь создать определенный массив, а не рандомный? #include &quot;stdafx.h&quot; #include...

Найти наибольшее число в массиве, которое повторяется по крайней мере 2 раза, но не более чем 3 раза - C++
подскажите с задачкой пожалуйста Найти наибольшее число в массиве, которое повторяется по крайней мере 2 раза, но не более чем 3 раза....

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

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

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

Динамический массив скопировать числа которые повторились 2 раза - C++
Программа должна создать динамический массив из 20 случайных элементов из диапазона и вывести его на экран. Далее программа должна...

4
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
15.04.2012, 02:39 #2
Цитата Сообщение от Asdf Посмотреть сообщение
Отсортировать массив по возрастанию и потом проверять все числа или же, инициализировать какой либо массив детектор без сортировки?
как удобнее)

Цитата Сообщение от Asdf Посмотреть сообщение
Необработанное исключение в "0x003543d1" в "Lab_rab_2_1.exe": 0xC0000005: Нарушение прав доступа при записи "0x60003060".
скорей всего выход за границы массива
0
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
15.04.2012, 12:59  [ТС] #3
Хмм... А как сделать, чтобы не выходило? Просто у меня такая ошибка не всегда выскакивает, а только иногда при заполнении массива.
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
16.04.2012, 00:55 #4
возможно дело в обращении к неинициализированному элементу массива
C++
1
x[randomDigit]++;
0
Asdf
1 / 1 / 0
Регистрация: 18.03.2012
Сообщений: 110
16.04.2012, 23:30  [ТС] #5
Нуу не исключено... А если чисто с самим массивом сделать, то как лучше, чтобы не брать [randomDigit]? Или его можно где то описать, чтобы проходило нормально инициализация?
0
16.04.2012, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 23:30
Привет! Вот еще темы с ответами:

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

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

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

Многомерный динамический массив - C++
Пользователь вводит размер массива Массив заполнняется рандомными (случайными) значениями 1-9 При условиях если: 1 вывеси на экран * ...


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

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

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