Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » Quersumme

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.08.2005, 11:47 Uhr
~Marv
Gast


Hi Leute,
weiß jemand wie man die Quersumme einer Zahl berechnet mit C++.Net-Syntax.
ich hab nur was in c gefunden

C++:
int CMyClass::getQuersumme(int iZahl)
{
    int iQuersumme = 0;
    char caZahl[32];
    
    sprintf(caZahl, "%d", iZahl);
    
    for(int i=0; i < strlen(caZahl); i++)
    {
        iQuersumme += caZahl[i] - '0';
    }

    while(iQuersumme >= 10)
    {
        iQuersumme = this->getQuersumme(iQuersumme);
    }

    return iQuersumme;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.08.2005, 11:53 Uhr
virtual
Sexiest Bit alive
(Operator)


Das ist aber QuersummeVonQuersummeVonQuersumme:
452 Hat nach meiner Lesart die Quersumme 11, aber die Routine macht wegen der letzten Whileschleife eine 2 draus, weil 11 eben die Quersumme 2 hat...
Davon abgesehen ist die Konvertierung in einen String einfach doof.

Ich nehme mal an, daß .NET bzgl. der im folgenden Verwendeten Sprachelemente die gleichen Syntaxelemente hat, wie C/C++:

C++:
// Rekursiv
int quersumme(int zahl) {
    if (zahl<0) zahl = -zahl;
    return zahl%10 + quersumme(zahl/10);
}


oder eben:

C++:
// Iterativ
int quersumme(int zahl) {
    int q = 0;
    if (zahl<0) zahl = -zahl;
    while (zahl!=0) {
       q += zahl%10;
       zahle /= 10;
    }
    return q;
}


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.08.2005, 14:43 Uhr
~Marv
Gast


Danke virtuell.
Das mit der Quersumme von Quersumme von Quersumme stimmt, das hatte ich mit eingefügt damit ich nur 1stellige Zahlen rausbekomme
Hier der Code der in C++.NET funktioniert

C++:
        int getQuersumme(int Zahl)
        {
            int iZahl = Zahl;
            int iQuersumme = 0;
            int iStelle;

            while(iZahl)
            {
                iStelle = iZahl % 10;
                iQuersumme += iStelle;
                iZahl /= 10;
            }

            while(iQuersumme > 10)
            {
                iQuersumme = this->getQuersumme(iQuersumme);
            }

            return iQuersumme;
        }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: