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

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

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

Подсчитать максимальное количество идущих подряд одинаковых элементов в одномерном массиве. - C++

19.02.2014, 11:11. Просмотров 1236. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
Помогите пожалуйста решить задачу.
Подсчитать максимальное количество идущих подряд одинаковых элементов в одномерном массиве.
За ранее огромная благодарность.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 11:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать максимальное количество идущих подряд одинаковых элементов в одномерном массиве. (C++):

В заданном массиве подсчитать максимальное количество идущих подряд отрицательных элементов - C++
Помогите надо в 27-30 что то изменить чтобы работало Дан одномерный массив А, состоящий из N элементов. Подсчитать мак- симальное...

Подсчитать максимальное количество подряд идущих отрицательных элементов. - C++
Дан одномерный массив А, состоящий из N элементов. Подсчитать максимальное количество подряд идущих отрицательных элементов. Помогите,...

Найти количество одинаковых элементов подряд в одномерном массиве - C++
Здравствуйте!!!Помогите, пожалуйста, написать программу:Подсчитать количество одинаковых элементов одномерного массива, которые расположены...

Посчитать максимальное количество подряд идущих отрицательных элементов в целочисленном массиве - C++
3) Посчитайте максимальное количество подряд идущих отрицательных элементов в целочисленном массиве длины 30.

Найти максимальное количество подряд идущих отрицательных элементов в заданном массиве - C++
Помогите решить задачу: 2. Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном...

Определить максимальное количество одинаковых символов, идущих подряд - C++
Ввести строку с клавиатуры. Определить максимальное количество одинаковых символов, идущих подряд. срочно нужно до 6 числа.помогите

4
Ilot
Модератор
Эксперт С++
1820 / 1178 / 232
Регистрация: 16.05.2013
Сообщений: 3,115
Записей в блоге: 5
Завершенные тесты: 1
19.02.2014, 11:23 #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
#include<iostream>
#include<ctime>
int main()
{
    const int N = 30;
    int mass[N];
    srand(time(NULL));
    for (int j = 0; j < N; ++j)
        mass[j] = rand()%3;
 
    int count = 0, temp_count = 0;
    int pos = 0, temp_pos = 0;
    for(int j = 1; j < N; ++j)
        if (mass[j] == mass[j - 1]) {
            ++temp_count;
            if (temp_count > count) {
                count = temp_count;
                pos = temp_pos;
            }
        }
        else {
            temp_count = 1;
            temp_pos = j;
        }
    for (int j = 0; j < N; ++j)
        std::cout << mass[j] << ' ';
    std::cout << std::endl;
    std::cout << "pos: " << pos + 1 << ", count: " << count << std::endl;
    return 0;
}
1
Daniyar86
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 8
19.02.2014, 11:29  [ТС] #3
Спасибо БОЛЬШОЕ, а можно ли получить объяснение к этому коду?
0
Ilot
Модератор
Эксперт С++
1820 / 1178 / 232
Регистрация: 16.05.2013
Сообщений: 3,115
Записей в блоге: 5
Завершенные тесты: 1
19.02.2014, 11:37 #4
Кликните здесь для просмотра всего текста
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
#include<iostream>
#include<ctime>
int main()
{   
    const int N = 30; //Задать размерность массива
    int mass[N]; //Объявить массив
    srand(time(NULL));  //хрень, что бы рандомные последовательности не повторялись
    for (int j = 0; j < N; ++j)     
        mass[j] = rand()%3;         //Инициализируем массив
 
    int count = 0, temp_count = 0;  //Число элементов в последовательности соответственно максимальной и временной
    int pos = 0, temp_pos = 0;  //Позиция начала последовательности одинаковых элементов соответственно максимальной и временной
    for(int j = 1; j < N; ++j)
        if (mass[j] == mass[j - 1]) {   //Если текущий элемент равен предыдущему
            ++temp_count;   //Увеличить счетчик элементов во временной последовательности
            if (temp_count > count) {   //Если во временной последовательност ибольше элементов, чем в максимальной
                count = temp_count; //Обновить счетчик
                pos = temp_pos; //Перенести позицию начало максимальной последовательности
            }
        }
        else {
            temp_count = 1;     //объявить число элементов в новой последовательности
            temp_pos = j;   //запомнить позицию
        }
    for (int j = 0; j < N; ++j)
        std::cout << mass[j] << ' ';    //Вывести массив
    std::cout << std::endl;
    std::cout << "pos: " << pos + 1 << ", count: " << count << std::endl;   //Вывести позицию и число элементов в найденной последовательности
    return 0;
}
1
Daniyar86
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 8
19.02.2014, 11:45  [ТС] #5
Благодарю
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 11:45
Привет! Вот еще темы с ответами:

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

Подсчитать наибольшее количество одинаковых подряд идущих чисел последовательности - C++
Даны целые числа x1, ..., xn. Подсчитать наибольшее количество одинаковых подряд идущих чисел последовательности. Входные данные ...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
19.02.2014, 11:45
Ответ Создать тему
Опции темы

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