mehrere INT Variablen addieren



  • Hallo ich bin neu hier und habe vor kurzen mit C++ angefangen.

    Mein Problem ist jetzt ich habe den Buchstaben A bis Z die Werte der
    ASCII Tabelle zugewiesen,
    INT A = 65; bis int Z = 90;
    nun möchte ich die Summe ausgeben lassen also
    int SUMME = A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z;

    jetzt frage ich mich ob es eine kürzere Möglichkeit gibt es darzustellen

    ähnlich wie in Excel Zelle C4:C8 um die Zellen zu addieren
    soweit funktioniert das Programm einwandfrei auch wenn es nur einfache Standardausgabe ist ich fang ja erst an.

    ich bedanke mich schonmal im voraus

    PC Freak1990



  • Schleife:

    unisgned int sum = 0;
    for (int i=68; i<= 90; ++i)
      sum += i;
    
    cout << "Summe: " << sum;
    


  • unsigned int sum = 0;
    for (int i = 'A'; i<= 'Z'; ++i)
      sum += i;
    
    cout << "Summe: " << sum;
    

    find ich was lesbarer statt mit magic numbers...



  • Danke für die schnellen Antworten hat wunderbar funktioniert
    habe mich für zweite Variante entschieden.

    mit freundlichen Gruß

    Pc Freak1990



  • Skym0sh0 schrieb:

    find ich was lesbarer statt mit magic numbers...

    👍



  • Es gibt natürlich auch noch den Gauß:

    ('Z'+'A') * ('Z'-'A'+1) / 2
    

    Aber das nur der Vollständigkeit halber - es geht ja wohl eher ums programmieren.



  • Dies alles funktioniert natürlich nur, wenn die einzelnen Zahlen wirklich fortlaufende Integer sind. Somit ist da schon ein Unterschied zu Excel "SUMME(C4:C8)".

    Um eine Menge beliebiger Integer zu summieren:

    std::vector<int> numbers = CreateNumberVector();
    int result = std::accumulate(numbers.begin(), numbers.end(), 0);
    


  • Danke nochmals der Vollständikeit halber werde ich mir das merken(aufschreiben)
    und ich habe Excel nur als Beispiel genommen wie ich mir das vorstelle
    mir sind die Unterschied durchaus bewusst(nicht böse gemeint)
    aber mein Problem hat sich ja gelöst

    Danke ein tolles Forum

    mit freundlichen Gruß

    Pc Freak1990


Anmelden zum Antworten