преобразование символов в строки

 
0
 
C++
ava
Анна25 | 27.03.2013, 18:34
Дан текст, содержащий цифры. Найти наибольшее количество идущих подряд чисел. Что я делаю не так? Объясните пожалуйста.




#include <iostream>

#include <string>

using namespase std;

int main ()

{
string str;

getline (cin, str);

int k=0, max=0;

for( unsigned int i=0; i<=length(); i++)

{ k=0;

if (isdigit(str[i]))

k++; 

while((isdigit(str[i+1]))&&(i<str.length()-1))

{ k++; i++;
}

if (k>max) max=k;
}

return 0;

}
Ответы (7)
ava
Crafty | 27.03.2013, 17:44 #
Цитата (Анна25 @  27.3.2013,  17:34 findReferencedText)
Найти наибольшее количество идущих подряд чисел

Может одинаковых цифр?
ava
Анна25 | 27.03.2013, 17:59 #
Цитата (Crafty @ 27.3.2013,  17:44)
Цитата (Анна25 @  27.3.2013,  17:34 \\"findReferencedText\\")
Найти наибольшее количество идущих подряд чисел


Может одинаковых цифр?

нет, в учебнике именно наибольшее количество подряд идущих цифр 
ava
Crafty | 27.03.2013, 18:19 #
Цифр в числе, т.е. число с наибольшем кол-вом цифр в нем? просто выше было написано 
Цитата (Анна25 @  27.3.2013,  17:34 findReferencedText)
Найти наибольшее количество идущих подряд чисел.

ava
Crafty | 27.03.2013, 19:30 #

#include <iostream>
#include <string>

using namespace std;

int main()
{
   string line;
   getline(cin, line);
   size_t k = 0;
   size_t maxDigits = 0;
   size_t lineLen = line.length();
   for(size_t i = 0; i != lineLen; ++i)
   {
      if (isdigit(line[i]))
         ++k;
      else
      {
         if (k > maxDigits)
            maxDigits = k;
         k = 0;
      }
   }
   cout << maxDigits << endl;
   
   return 0;
}
   
ava
feodorv | 27.03.2013, 20:08 #
По окончании цикла тоже нужно проверить
Цитата (Crafty @  27.3.2013,  20:30 findReferencedText)
   if (k > maxDigits)
    maxDigits = k;

 smile 
ava
Crafty | 27.03.2013, 20:14 #
feodorv, Точно, спс  smile 
ava
Анна25 | 27.03.2013, 21:21 #
спасибо за помощь!)
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить