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

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

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

Не создавая дополнительные массивы, определить какой из элементов потовторяется в последовательсности А1,А2,...Аn., наибольшее число раз - C++

06.04.2013, 20:48. Просмотров 387. Ответов 7
Метки нет (Все метки)

Напишите программу,в которой создается одномерный массив натуральных чисел А1,А2......Аn(n=10). Не создавая дополнительные массивы, определить какой из элементов потовторяется в последовательсности А1,А2,...Аn., наибольшее число раз, и найти его порядковый номер, ближайший к началу последовательности.

Не могу понять задачу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 20:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не создавая дополнительные массивы, определить какой из элементов потовторяется в последовательсности А1,А2,...Аn., наибольшее число раз (C++):

Определить, какой из элементов повторяется в массиве наибольшее число раз - C++
Есть задание, но решить не могу, точнее не могу как задали. Можно задачу сделать с использование вложенного цикла, можно и без. Но вот до...

Определить число, встречающееся в последовательности наибольшее количество раз (массивы) - C++
Определить,какое число в последовательности встречается наибольшее кол-во раз. Если таких элементов несколько то вывести их последовательно...

Для строк символов определить какой символ в каждой строке подряд наибольшее число раз - C++
Уважаемые завсегдатые данного форума. Нужна ваша помощь: необходимо написать 2 задачи со строками и массивами на С++. Буду благодарен любой...

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

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

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

7
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 384
Регистрация: 23.01.2011
Сообщений: 3,179
06.04.2013, 21:06 #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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <random>
#include <ctime>
#include <array>
 
int main()
{
    auto randomGenerator = std::bind(std::uniform_int_distribution <> (0, 5),
                                     std::mt19937 (time(nullptr)));
    const int arraySize(10);
    std::array <int, arraySize> array;
    std::cout << "Array: " << std::endl;
    std::generate(array.begin(), array.end(), randomGenerator);
    std::copy(array.begin(), array.end(), std::ostream_iterator <int> (std::cout, " "));
 
    int element;
    int maximalCounter(0);
    for (auto currNum: array) {
        int counter = std::count(array.begin(), array.end(), currNum);
        if (counter > maximalCounter) {
            maximalCounter = counter;
            element = currNum;
        }
    }
    std::cout << std::endl << "Element: " << element << std::endl;
    std::cout << "Index: " << (std::distance(array.begin(), std::find(array.begin(), array.end(), element)) + 1) << std::endl;
 
    return 0;
}
0
AvengerC
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 18
06.04.2013, 21:08  [ТС] #3
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <random>
#include <ctime>
#include <array>
 
int main()
{
    auto randomGenerator = std::bind(std::uniform_int_distribution <> (0, 5),
                                     std::mt19937 (time(nullptr)));
    const int arraySize(10);
    std::array <int, arraySize> array;
    std::cout << "Array: " << std::endl;
    std::generate(array.begin(), array.end(), randomGenerator);
    std::copy(array.begin(), array.end(), std::ostream_iterator <int> (std::cout, " "));
 
    int element;
    int maximalCounter(0);
    for (auto currNum: array) {
        int counter = std::count(array.begin(), array.end(), currNum);
        if (counter > maximalCounter) {
            maximalCounter = counter;
            element = currNum;
        }
    }
    std::cout << std::endl << "Element: " << element << std::endl;
    std::cout << "Index: " << (std::distance(array.begin(), std::find(array.begin(), array.end(), element)) + 1) << std::endl;
 
    return 0;
}
А как-нибудь по проще можно? На знания базового пользователя с++
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 384
Регистрация: 23.01.2011
Сообщений: 3,179
06.04.2013, 21:14 #4
Цитата Сообщение от AvengerC Посмотреть сообщение
А как-нибудь по проще можно? На знания базового пользователя с++
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(nullptr));
    const int arraySize(10);
    int array[arraySize];
 
    std::cout << "Array: " << std::endl;
    for (int i = 0; i < arraySize; i++)
        std::cout << (array[i] = rand() % 5) << " ";
 
    int element;
    int elementIndex;
    int maximalCounter(0);
    for (int i = 0; i < arraySize; i++) {
        int counter(0);
        for (int j = 0; j < arraySize; j++)
            counter += array[i] == array[j] ? 1 : 0;
        if (counter > maximalCounter) {
            maximalCounter = counter;
            element = array[i];
            elementIndex = i;
        }
    }
    std::cout << std::endl << "Element: " << element << std::endl;
    std::cout << "Index: " << elementIndex + 1 << std::endl;
 
    return 0;
}
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
06.04.2013, 21:24 #5
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
#include <iostream>
#include <algorithm>
 
using namespace std;
 
typedef int arr_type;
struct val_info
{
    val_info(arr_type _val, unsigned _index, unsigned _count):
        val(_val), val_index(_index), val_count(_count) {}
    arr_type val;
    unsigned val_index;
    unsigned val_count;
};
int main()
{
 
    const size_t arr_size = 10;
    arr_type arr[arr_size] = {15,10,30,15,15,80,90,70,15,15};
 
    val_info max_repeat_val(arr[0] + 1,0,0);
 
    for (size_t i = 0; i != arr_size; i++)
    {
        if (max_repeat_val.val == arr[i])
            continue;
        val_info curr_val(arr[i],i, count(arr,arr+arr_size,arr[i]));
 
        if (curr_val.val_count > max_repeat_val.val_count)
        {
            max_repeat_val.val = curr_val.val;
            max_repeat_val.val_count = curr_val.val_count;
            max_repeat_val.val_index = curr_val.val_index;
        }
    }
 
    cout<<"val: "<<max_repeat_val.val<<endl
        <<"count: "<<max_repeat_val.val_count<<endl
        <<"index: "<<max_repeat_val.val_index<<endl;
 
 
    return 0;
}
0
AvengerC
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 18
06.04.2013, 21:47  [ТС] #6
Ev[G]eN, блин, для меня это трудно
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 384
Регистрация: 23.01.2011
Сообщений: 3,179
06.04.2013, 21:57 #7
AvengerC, ну если не понятен и второй вариант, то тогда все грустно.
0
AvengerC
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 18
06.04.2013, 22:38  [ТС] #8
Ev[G]eN, Благодарю.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 22:38
Привет! Вот еще темы с ответами:

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

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

Не создавая дополнительного массива, определить какой из элементов повторяется в последовательности - Turbo Pascal
Даны натуральные числа A1,A2,...A10.Не создавая дополнительного массива,определить какой из элементов повторяется в последовательности...

Матрица. Определить, в какой строке находятся наибольшее число элементов, целая часть которых равна 1 - Turbo Pascal
Использование имена процедуры в качестве параметра процедуры. &quot;Цель&quot;: Составить программу по заданному условию. Первая часть условия...


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

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

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