Конкатенацию ряда чисел
Я новичок так что особо не бейте.
Как в плюсах сделать конкатенацию ряда чисел получаемого из некоего источника?
Например пусть будет из цикла for по 1 однозначному числу за итерацию.
srand(time(0));
for(int i=0; i<8; i++){
cout << rand() % 9;
}
В результате собранное число должно находится в обычной переменной типа int.
Какие существуют варианты?
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
В 10ичной системе счисления основание 10, надо умножать, имеющееся число, на это основание и только затем прибавлять новую цифру.
srand(time(0));
int num = 0;
for(int i=0; i<8; i++){
num *= 10;
num += rand() % 9;
}
cout << num << endl;
- 0
- 0 -> 0*10 -> 0 + rand()%9 { допустим 8 }
- 8 -> 8*10 -> 80 + rand()%9 { допустим 7 }
- 87 -> 87*10 -> 870 + rand()%9
P.S. Автор в комментариях просит сравнение результатов
srand(0);
for(int i=0; i<8; i++){
cout << rand() % 9;
}
cout << endl;
srand(0);
int num = 0;
for(int i=0; i<8; i++){
num *= 10;
num += rand() % 9;
}
cout << num << endl;