С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 11.03.2021
Сообщений: 7
1

Определить самый длинный ряд одинаковых элементов последовательности

26.05.2021, 23:44. Показов 2047. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводится последовательность цифр, 0 – конец ввода. Определить самый длинный ряд одинаковых цифр.
Например: пользователь ввел: 1 2 2 2 3 1 1 3 3 3 3 3 4 4 4 4 1 4 4 2 2 2 0
Ответ: наибольшая последовательность - 5, число - 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
#include <iostream>
 
using namespace std;
 
 
int main() {
    setlocale(LC_ALL, "");
        int *mas = new int[100];
    int x; int i = 0; int val;
    cin >> x;
    while (x != 0)
    {
        cin >> x;
        mas[i] = x;
        i++;
    }
    int Count = 0; int countbuf = 0;
    for (int j = 0; j <i; j++)
    {
        if (mas[j] == mas[j + 1])
        {
            Count++;
        }
        else
        {
            Count = 0;
        }
 
        if (Count > countbuf)
            {
                countbuf = Count;
                val = mas[j];
            }   
    }
    cout << endl << "Наибольшая последовательность - " << countbuf + 1 << ", число - " << val;
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2021, 23:44
Ответы с готовыми решениями:

В заданном линейном массиве найти самый длинный фрагмент, состоящий из одинаковых элементов
МАССИВ в заданном линейном массиве размерностью N найти самый длинный фрагмент, состоящий из...

Дан массив натуральных чисел. Получить самый длинный из отрезков последовательности
Даны натуральное n, массив из натуральных чисел A(n). Рассмотреть отрезки последовательности...

В массиве чисел найдите самый длинный подмассив из одинаковых чисел
Помогите делать задание, пожалуйста: в массиве чисел найдите самый длинный подмассив из одинаковых...

Выполните поиск, используя однопроходные алгоритмы (найти самый длинный пилообразный участок последовательности)
Найти самый длинный пилообразный участок последовательности. (Пилообразным называется участок, в...

5
2565 / 1277 / 468
Регистрация: 08.11.2016
Сообщений: 3,525
27.05.2021, 09:37 2
del
0
2129 / 1212 / 503
Регистрация: 11.10.2018
Сообщений: 6,112
27.05.2021, 09:42 3
Если у Вас проблемы или Вы начинающий, то не рекомендуется писать несколько команд в 1 строчку.

Добавлено через 2 минуты
Цитата Сообщение от ninetrey Посмотреть сообщение
mas[i] = x;
- 1-ый элемент не будете в массив записывать?
0
Злостный нарушитель
9613 / 5204 / 1187
Регистрация: 12.03.2015
Сообщений: 24,568
27.05.2021, 09:46 4
Я обязан уже в 100501-й раз задать один и тот же наболевший вопрос: что делать, когда самых длинных последовательностей будет 2 или более?
0
2565 / 1277 / 468
Регистрация: 08.11.2016
Сообщений: 3,525
27.05.2021, 09:48 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
#include <iostream>
 
int main()
{
    int x, currentNum, seqLen, maxSeqLen, num;
    x = currentNum = seqLen = maxSeqLen = num = 0;
    while (std::cin >> x)
    {
        if (x == currentNum)
            ++seqLen;
        else
        {
            if (seqLen > maxSeqLen)
            {
                maxSeqLen = seqLen;
                num = currentNum;
            }
 
            currentNum = x;
            seqLen = 1;
 
            if (!x)
                break;
        }
    }
 
    if (!num)
        std::cout << "Empty set" << std::endl;
    else
        std::cout << "Max sequence length = " << maxSeqLen << "\tby number = " << num << std::endl;
 
    return 0;
}
1
2129 / 1212 / 503
Регистрация: 11.10.2018
Сообщений: 6,112
27.05.2021, 09:57 6
Лучший ответ Сообщение было отмечено ninetrey как решение

Решение

Правильно все.
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    
    int mas[100];
    int x, i = 22, Val, k;
    
    /*
    cin >> x;
    while (x != 0)
    {
        cin >> x;
        mas[i] = x;
        i++;
    }
    */
    //Debug
    //1 2 2 2 3 1 1 3 3 3 3 3 4 4 4 4 1 4 4 2 2 2 0
    
    mas[0] = 1;
    mas[1] = 2;
    mas[2] = 2;
    mas[3] = 2;
    mas[4] = 3;
    mas[5] = 1;
    mas[6] = 1;
    mas[7] = 3;
    mas[8] = 3;
    mas[9] = 3;
    mas[10] = 3;
    mas[11] = 3;
    mas[12] = 4;
    mas[13] = 4;
    mas[14] = 4;
    mas[15] = 4;
    mas[16] = 1;
    mas[17] = 5;
    mas[18] = 5;
    mas[19] = 2;
    mas[20] = 2;
    mas[21] = 2;
    mas[22] = 0;
    
    int CountCurrent = 0, CountMax = 0;
    for(k = 0; k < i; k++)
    {
        if(mas[k] == mas[k + 1])
          CountCurrent++;
        else
          CountCurrent = 0;
          
 
        if(CountCurrent > CountMax)
        {
            CountMax = CountCurrent;
            Val = mas[k];
        }   
    }
    
    
    cout << "Наибольшая последовательность - " << CountMax+1
         << ", число - " << Val;
    //system("pause");
    return 0;
}
1
27.05.2021, 09:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2021, 09:57
Помогаю со студенческими работами здесь

Определить компьютер в сети, до которого самый длинный маршрут
Как это все сделать именно В .bat? Без применения VBScript Есть код на VBScript ...

Определить самый длинный участок на пути к указанному узлу
Здравствуйте! Нужна помощь Требуется написать .bat файл, который бы реализовывал выполнение...

Дан символьный массив. Определить самый длинный элемент - палиндром
Собственно, сабж. Дан символьный массив. Определить самый длинный элемент - палиндром. Поиск не...

В двумерном массиве найти самый длинный и самый короткий элемент
В двумерном массиве найти самый длинный и самый короткий элемент

В двумерном массиве найти самый длинный и самый короткий элемент
В двумерном массиве найти самый длинный и самый короткий элемент

Найти самый короткий и самый длинный пути в графе
Здравствуйте! Мне необходимо выполнить следующую задачу: представить ориентированный взвешенный...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru