|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 769
|
[C++]Somma di cifre
Vorrei chiedere gentilmente a Voi guru della programmazione di risolvermi un problema.
![]() Mi interesserebbe sapere come, in C++, posso eseguire la somma delle cifre che compongono un numero. Es: 29=2+9=11 53=5+3=8 Vi ringrazio per ogni eventuale risposta ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Codice:
int somma(const char* numero) { int ret = 0; while(*numero) ret += *(numero++)-'0'; return ret; }
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9302
|
non conosco c++ cmq penso dovrebbe funzionare lo stesso.
se parti da un numero (e non da una stringa i cui caratteri sono numeri) puoi usare la funzione char *itoa(int num) per trasformare il numero in una stringa di caratteri e quindi usare la funzione che ha postato ilsensine. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Codice:
unsigned int ComputeNumberSum( unsigned int x) { unsigned int number = x; unsigned int sum = 0; do { sum += number % 10; number /= 10; } while (0 != number); return sum; }
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:42.