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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34
#1

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

17.04.2012, 22:11. Просмотров 1645. Ответов 10
Метки нет (Все метки)

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

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

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

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

подсчитать самую длинную последовательность подряд идущих букв а - C++
Помогите решить задачу заранее спасибо) Решение через функцию. Дана строка подсчитать самую длинную последовательность подряд идущих букв...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Сапожок
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 34
17.04.2012, 22:54 #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
#include <iostream>
#include <string>
using namespace std;
 
main(){
       string st;
       getline(cin, st);
       int length = st.length(); 
       int maxa = 0;
       int max1;
       for (int i = 0; i < length; i++){
           max1 = 0;
           for (; st[i] == 'а';i++){
                  max1++;
                  }
           if (max1 > maxa) maxa = max1;
           }
       cout << maxa;
           
       int i;
       cin >> i;
       return 0;
       }
Не знаю почему, но эта программа у меня работает (что странно).
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
18.04.2012, 07:20 #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
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <string.h>
#include <math.h>
 
int main(void)
{
    static char ch = '\0';
    static char* psz = new char[256];
    printf("Vvedite stroku:"); gets(psz);
    printf("Vvedite simvol:"); scanf("%c",&ch);
    
    int i = 0, max = 0, max_i = max;
    do {
        int z = i, len = 0;
        while (psz[z] == ch) z++;
        if (z > i && (len = abs(z-i)) > max) 
          { max_i = i; max = len; }
        i = (z <= i) ? i + 1 : z;
    } while(i < strlen(psz));
 
    for (int q = max_i; q < max_i + max; q++)
        printf("%c",psz[q]);
    printf("\n\npos = %d length = %d",max_i,max);
 
    return 0;
}
Сапожок
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 34
18.04.2012, 14:12 #4
zitxbit, А я использую средства ввода-вывода языка С++...
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
18.04.2012, 20:19 #5
C++
1
2
3
4
5
6
7
8
    
#include <iostream>
#include <iomanip>
 
static char ch = '\0';
    static char* psz = new char[256];
    printf("Vvedite stroku:"); std::cin >> psz;
    printf("Vvedite simvol:"); std::cin >> ch;
C++
1
2
3
4
    for (int q = max_i; q < max_i + max; q++)
        std::cout << psz[q];
    std::cout << endl << endl;
    std::cout < "pos = " << max_i << "length = " << max << endl;
Достаточно?
Сапожок
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 34
18.04.2012, 21:08 #6
#include <iomanip> Что это такое?

А зачем вы std:: указываете? Можно же использовать пространство имен. using namespace std; Ага.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
18.04.2012, 21:10 #7
#include <iomanip> подключаю чтобы ф-ция endl работала, и др. функции форматированного вывода.
rostykm
2 / 2 / 0
Регистрация: 30.03.2011
Сообщений: 34
18.04.2012, 21:11 #8
Цитата Сообщение от Сапожок Посмотреть сообщение
А зачем вы std:: указываете? Можно же использовать пространство имен. using namespace std; Ага.
это наверное для страха))))))))))))))))
Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34
24.04.2012, 21:07  [ТС] #9
и какая программа верная?
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
24.04.2012, 21:11 #10
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
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <string.h>
#include <math.h>
 
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main(void)
{
    static char ch = '\0';
    static char* psz = new char[256];
    printf("Vvedite stroku:"); cin >> psz;
    printf("Vvedite simvol:"); cin >> ch;
    
    int i = 0, max = 0, max_i = max;
    do {
        int z = i, len = 0;
        while (psz[z] == ch) z++;
        if (z > i && (len = abs(z-i)) > max) 
          { max_i = i; max = len; }
        i = (z <= i) ? i + 1 : z;
    } while(i < strlen(psz));
 
    for (int q = max_i; q < max_i + max; q++)
         cout << psz[q];
    cout << endl << endl;
    cout < "pos = " << max_i << "length = " << max << endl;
 
    return 0;
}
Сапожок
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 34
26.04.2012, 00:10 #11
Моя-моя верная! Она считает буквы а, там только строку ввести надо!..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 00:10
Привет! Вот еще темы с ответами:

Дана строка, найти наибольшее количество идущих подряд букв - C++
с++ не понимаю совсем Дана строка, найти наибольшее количество идущих подряд букв заранее спасибо

Найдите в матрице самую длинную цепочку подряд идущих нулей по горизонтали и вертикали - C++
Матрица состоит из нулей и единиц. Найдите в ней самую длинную цепочку подряд идущих нулей по горизонтали, вертикали. Удалить...

В последовательности найти наиболее длинную последовательность подряд идущих нулей - C++
Дана последовательность из n вещественных чисел. Найти наиболее длинную последовательность подряд идущих нулей.

Найти в тексте самую длинную последовательность из одинаковых букв - C++
Здравствуйте! Нужно написать программу, которая выполняет следующие функции: найти в тексте самую длинную последовательность из одинаковых...


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

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

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