Cześć,
Mam coś takiego do zrobienia i kompletnie nie wiem jak mam to zrobić ..... pomoże ktoś ?
Funkcja, która dostaje jako argumenty liczbę i sprawdza z ilu cyfr składa się ta liczba.
Funkcja zwraca liczbę oznaczającą z ilu cyfr składa się liczba wczytana.
0
1
Parę minut i gotowe...
int countDigits(int number) {
int digits = 0;
if (number < 0) {
number = 0 - number;
}
while (number > 0) {
number /= 10;
digits++;
}
return digits;
}
1
Można też liczbę wczytać jako stringa i dać w return string.length() o ile wszystkie znaki to cyfry.
2
Jak masz na wejściu 33333 to odpowiedź to 5 (liczba pięciocyfrowa) czy 1 (liczba złożona z samych trojek)...?
1
#include <iostream>
#include <numeric>
#include <iomanip>
using namespace std;
int main()
{
auto number = static_cast<ostringstream&>( ostringstream{} << setprecision(8) << noshowpoint << -34.5036 ).str();
cout << accumulate( begin(number) , end(number) , 0 , []( int a , char c ){ return isdigit(c) ? ++a : a ; } );
}
2
unsigned digitcount(unsigned value)
{
return 1+max(0U,(unsigned)floor(log10(value)));
}