Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2016, 16:10   #1
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию Найти самую длинную группу цифр (двумерный массив)

Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +, -, *. Группой букв будем называть такую совокупность последовательно расположенных букв, которой непосредственно не предшествует и за которой непосредственно не следует буква. Аналогично определим группу цифр и группу знаков.

Найти самую длинную группу цифр. Если эту наибольшую длину имеет несколько групп, то взять самую последнюю.
Код:
int main(){
    char *s;
    s = new char[100];
    cin >> s;
    int max=-1, tmp = 0, n = 0;
    for (int i = 0; i<=strlen(s); i++)
    {
        if (isdigit(s[i])){
            n++;
            continue;
        }
        if(n<tmp){
            n=0;
            continue;
        }
        tmp=n;
        n=0;
        max=i-tmp;
    }
    for (int i = max; i<max+tmp; i++)
        cout << s[i];
}
помогите сделать через двумерный массив , чтоб вводить несколько строк

Последний раз редактировалось fr0st1k123; 09.03.2016 в 16:19.
fr0st1k123 вне форума Ответить с цитированием
Старый 11.03.2016, 19:56   #2
b2soft
Упртй программер
Форумчанин
 
Регистрация: 26.11.2009
Сообщений: 150
По умолчанию

1. Отказаться от char * в пользу std::string
2. Завести вектор строк
3. Читать в цикле до какого-то условия строки с клавиатуры + засовывать их в вектор
Код:
std::vector<std::string> stringVector;
int n;
cin >> n; //кол-во строк, которые будут введены

for (int i = 0; i < n; i++)
{
    std::string s;
    cin >> s; //можно и без getline, так как по условию нет пробелов в строке
    stringVector.push_back(s);
}

for (size_t i = 0; i < strings.size(); ++i)
{
    std::string s = stringVector[i];
... //проводим поиск последовательностей или че еще надо

}
Помощь с кодом/лабами по С/С++
Контакты: ICQ 623334555 Skype: btwosoft; Mail: b2soft@yandex.ru
b2soft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти в массиве самую длинную убывающую последовательность... fr0st1k123 Общие вопросы C/C++ 1 19.10.2015 20:34
Дана строка их нулей и единиц.Вывести самую длинную группу. Delphi VladGorin Помощь студентам 1 19.06.2012 01:51
Работа с файлами .Найти самую длинную и самую короткую строки. britannia C# (си шарп) 1 03.06.2011 13:45
Найти самую длинную подпоследовательность состоящую только из нулей, С++ StudentPolitech Помощь студентам 7 28.11.2008 09:16