Feedback

C# - Quersummenberechnung

Veröffentlicht von am 14.09.2008
(1 Bewertungen)
Hier eine kleine Funktion, um Quersummen zu berechnen.
GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

        /// <summary>
        /// Berechnet die Quersumme einer Zahl
        /// </summary>
        /// <param name="Zahl">Die Zahl, aus der die Quersumme berechnet werden soll</param>
        /// <returns></returns>
        private int Quersumme(int iNumber)
        {
            //Zahl in einen String aufteilen
            string strNumbers = iNumber.ToString();
            iNumber = 0;
            List<int> lstParts = new List<int>();

            foreach (char ch in strNumbers)
            {
                lstParts.Add(Convert.ToInt32(ch.ToString()));
            }

            foreach (int i in lstParts)
            {
                iNumber = iNumber + i;
            }

            return iNumber;

        }
Abgelegt unter Quersumme, quersumme, Mathemathik, Mathe.

6 Kommentare zum Snippet

Nico schrieb am 14.09.2008:
Es geht auch etwas einfacher.
 private int GetQS(int _int)
{
int qs = 0;
foreach ( c in _int.ToString.ToCharArray) {
qs += Convert.ToInt32(c.ToString);
}
return qs;
}
Günther Foidl schrieb am 24.09.2008:
Mit ein wenig Mathematik gehts um den Faktor 100 schneller.

/// <summary>
/// Berechnet die Prüfsumme von <paramref name="zahl"/>
/// </summary>
/// <param name="zahl">
/// Zahl von der die Prüfsumme berechnet werden soll
/// </param>
/// <returns>
/// Prüfsumme von <paramref name="zahl"/>
/// </returns>
public static int PrüfSumme(int zahl)
{
int prüfSumme = 0;

do
{
prüfSumme += zahl % 10;
zahl /= 10;
} while (zahl > 0);

return prüfSumme;
}
Klemens Nanni schrieb am 25.03.2010:
Günther, deine Funktion verwendet den Divisor, der Fließkommazahlen erzeugt. So wird für die Zahl 123456789 die Quersumme 51 anstatt 45 ausgegeben. Bei deiner Methode muss der Ganzzahldivisor '\' verwendet werden.

prüfSumme += zahl % 10;
zahl \= 10;
hackman schrieb am 09.08.2010:
das ist etwas overkill würde ich sagen, so mit liste und string
wie wärs einfach
int Quersumme(int i) { return i % 10 + (i > 10 ? Quersumme(i / 10) : 0); }
Klemens Nanni schrieb am 10.08.2010:
hackman, dein Ansatz ist ledeglich eine rekursive Schreibweise von Günther Foidls iterativer Funktion - oder irre ich mich?
Firendeath schrieb am 10.08.2010:
@Nanni
Daumen Hoch das Komment is echt geil. xD
 

Logge dich ein, um hier zu kommentieren!