Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
4 / 4 / 3
Регистрация: 07.05.2017
Сообщений: 52
1

Количество идущих подряд одинаковых символов

05.07.2019, 14:53. Показов 4032. Ответов 2
Метки нет (Все метки)

Нужно посчитать сколько подряд единиц идут в массиве, начиная с определенной позиции вправо, например с позиции 4 идут подряд 4 единицы, а с 10 - одна

C++
1
2
3
0    0    0    1    1    1    1    1    0    0    1
------------------------------------------------
0    1    2    3    4    5    6    7    8    9    10
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2019, 14:53
Ответы с готовыми решениями:

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

Написать функцию, которая принимает строку и возвращает максимальное количество одинаковых символов, идущих подряд
Написать функцию, которая принимает строку. В качестве результата возвращает максимальное...

В строке вывести последовательности состоящие из трех одинаковых подряд идущих символов
Ввести строку с клавиатуры. Найти и вывести на экран последовательности, состоящие из трех...

Найти наименьшее количество одинаковых, идущих подряд элементов
Дан вектор размерности N. Найти наименьшее количество одинаковых, идущих подряд элементов.

2
359 / 226 / 120
Регистрация: 25.06.2019
Сообщений: 832
05.07.2019, 15:01 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char s[]="00011111001";
int n1=0,n0=0;
for(int n=0, i=0; i<strlen(s); i++)
if(s[i]=='1')
{
  n=!n?2:n++;
  if(n>n1) n1=n;
}
else 
if(n) 
{
  n0++;
  n=0;
}
cout<<"1->1="<<n1<<" 1->0="<<n0<<endl;
0
Модератор
Эксперт С++
11483 / 9400 / 5650
Регистрация: 18.12.2011
Сообщений: 25,114
05.07.2019, 15:31 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
#include <iostream>
#include <ctime>
using namespace std;
//#include <math.h>
 
 
int main()
{
    const int n = 12;
    int x[n] = { 1,  0,    0,    1,    1,    1,    1,    1,    0,    0,    0, 1 };
    int pose = 1, posb = 0;
    for (int i = 0; i<n - 1; i++)
    {
        if (x[i] == 0 && x[i + 1] == 1 )// начало последовательности
        {
            posb = i + 1;
            pose = posb+1;
        }
        else if(x[i] == 1 && (x[i + 1] == 0 || i==n-2) ) // конец последовательности
        {
            if (i == n - 2 && x[n-1]==1)
                pose++;
            cout << posb << ' ' << pose - posb << endl;
        }else if (x[i] == 1)       // внутри последовательности
            pose++;
    }
    if (x[n - 2] == 0 && x[n - 1] == 1) // терминальные 0 1 не попали в последовательность
        cout << n - 1 << " 1"<< endl;
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2019, 15:31

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

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

Подсчитать максимальное количество идущих подряд одинаковых элементов в одномерном массиве.
Доброго времени суток. Помогите пожалуйста решить задачу. Подсчитать максимальное количество...

Найти количество N-значных чисел, состоящих из цифр 1 и 2, не содержащих три подряд идущих одинаковых цифры
Здравствуйте! Вот еще одна задача с E-olymp (№ 12). К сожалению, только 67% (один - неправильный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru