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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Оксана(ИТ-11)
 Аватар для Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34
17.04.2012, 22:11     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а. #1
Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а.( P.S. напишите полную программу попроще. С++ знаю плохо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 22:11     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а.
Посмотрите здесь:

подсчитать самую длинную последовательность подряд идущих букв а C++
В последовательности найти наиболее длинную последовательность подряд идущих нулей C++
C++ Дана строка. Подсчитать самую длинную последовательность идущей подряд заданной буквы
C++ Дана строка. Подсчитать самую длинную последовательность подряд идущих букв а
Подсчитать самую длинную последовательность подряд идущих букв а C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сапожок
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++
 Аватар для zitxbit
86 / 738 / 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++
 Аватар для zitxbit
86 / 738 / 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++
 Аватар для zitxbit
86 / 738 / 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)
 Аватар для Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34
24.04.2012, 21:07  [ТС]     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а. #9
и какая программа верная?
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 00:10     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Сапожок
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 34
26.04.2012, 00:10     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а. #11
Моя-моя верная! Она считает буквы а, там только строку ввести надо!..
Yandex
Объявления
26.04.2012, 00:10     Дана строка символов. Подсчитать самую длинную последовательность подряд идущих букв а.
Ответ Создать тему
Опции темы

Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru