Необходимо реализовать счетчик из числа, записанного в String. Т.е. при каждой итерации цикла стринговое число надо увеличить на 1. Т.е. было "123", после следующей итерации должно стать "124" и т.д.
У меня проблема с разрядами. Вот такой кусок кода у меня увеличивает только от 0 до 9, а как сделать увеличение и добавление нового разряда (десятки, сотни и .т.д) - не знаю.
if(str[(str.size()-1]-'0'< 9)
str[(str.size()-1]+=1;
Как я понимаю, от человека хотят именно работу со строкой... Тогда - вот:
void inc(string&s)
{
int l = s.length();
bool carry = true;
for(int i = l-1; carry && i >= 0; --i)
{
if (carry) s[i]++;
if (carry = (s[i] > '9')) s[i] = '0';
}
if (carry) s = '1' + s;
}
int main(int argc, const char * argv[])
{
string s = "193";
for(int i = 0; i < 20; ++i)
{
inc(s);
cout << s << endl;
}
s = "993";
for(int i = 0; i < 20; ++i)
{
inc(s);
cout << s << endl;
}
}
Можно это сделать следующим образом, как показано в демонстрационной программе
#include <iostream>
#include <string>
int main()
{
std::string cnt( "999" );
std::cout << cnt << std::endl;
cnt = std::to_string( std::stoul( cnt ) + 1 );
std::cout << cnt << std::endl;
return 0;
}
Вывод программы на консоль:
999
1000
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть 2 лампочкиУ каждой есть 2 состояния - активная(горит) и пассивная(цвет лампочки - черный)
Вопрос по С++ и надо решить с использования двумерные массивы
Я делаю блог на WordPressЕсть вывод постов, но за счет картинки, названия, превью все блоки в линии разной высоты и это бросается в глаза