Funkcje w c++ z liczeniem z ilu cyfr składa się liczba.

0

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.

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 ; } );    
}

https://godbolt.org/z/Y53T6ch3v

2
unsigned digitcount(unsigned value)
{
	return 1+max(0U,(unsigned)floor(log10(value)));
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1