Schnelles Ende!?!



  • Du darfst die Semikolons ? Semikolen ? die ; halt nicht vergessen!



  • #include <conio.h> oder #include<stdio.h> einbinden

    und dann am Ende des Programmes "getch()" oder "getchar()" einbinden



  • Original erstellt von Konstantin:
    Du darfst die Semikolons ? Semikolen ? die ; halt nicht vergessen!

    Semikola...



  • <conio.h> oder <stdio.h>

    conio ist kein standard. Und das das Praxisrelevant ist zeigt, dass zwei meiner drei Compiler Sie nicht kennen. und warum stdio.h ? ein einfaches cin.get() würde es doch auch tun.

    Dann sollte es heißen 4 Zahlen und nicht 2. (Absichtliche Verwirrung des Benutzers ist nie gut.)

    Außerdem wäre ein Blick in die FAQs sinnvoll zum Thema <iostream.h> vs. <iostream>



  • Also:

    #include <iostream>
    
    using namespace std;
    
    template<class T, class Q> T my_add(Q a, Q b) {
      T result = *a;
      while (++a != b)
        result += *a;
      return result;
    }
    
    int main() {
      int a[4];
      cout << "Gibst du 4 Zahlen, oder?" << endl;
      cin >> a[0] >> a[1] >> a[2] >> a[3];
      cout << add(a, a+4) << endl;
    }
    

    OK, es ginge _noch_ generischer, aber das sollte reichen :D.



  • @MrN
    Solltest du deine Funktion nicht am Besten auch noch aufrufen? 😃

    Und warum nicht einfach schon den vorhandenen Algorithmus verwenden?

    #include <numeric>
    #include <iostream>
    using namespace std;
    int main() {
      int a[4];
      cout << "Gibst du 4 Zahlen, oder?" << endl;
      cin >> a[0] >> a[1] >> a[2] >> a[3];
      cout << accumulate(a, a+4, 0) << endl;
    }
    

    [ Dieser Beitrag wurde am 05.06.2003 um 23:59 Uhr von HumeSikkins editiert. ]



  • @Hume: So ein my_ vergisst man schon mal. :D. Warum ich ne eigene Funktion geschrieben hab? Um zu zeigen, wie hübsch das ist :D.



  • aha und woraus leitet er sich das T ab? Das kann er doch an myadd(a,a+4) garnicht erkennen, oder?



  • @ Sp*****wein: Danke! 😉

    Original erstellt von Helium:
    [quote]<conio.h> oder <stdio.h>

    **
    conio ist kein standard. Und das das Praxisrelevant ist zeigt, dass zwei meiner drei Compiler Sie nicht kennen. und warum stdio.h ? ein einfaches cin.get() würde es doch auch tun.**[/QUOTE]

    Was ich nur echt dumm an cin.get() finde, dass man keine Leertaste drücken kann. Auf Whitespace-Zeichen reagiert cin.get() nicht...

    Einen echten Ersatz für getch() habe ich leider noch nicht gefunden. Sollte irgedwer was haben - her damit! 😉

    CU
    Konstantin



  • Das ist ja geil! Ihr habt da ja einen Filter eingebaut! Wenn im Beitrag das bekannte Synonym zu Popo steht, wird das mit * rausgefiltert 😉 Wenn man andere ohne Zensur beleidigen will, muss man also Kreativ werden! Find ich geil! ;-)))

    Schade nur, dass auch das Schein, welches spart (= Sp*****wein) zensiert wird...

    CU
    Konstantin



  • Original erstellt von Jester:
    aha und woraus leitet er sich das T ab? Das kann er doch an myadd(a,a+4) garnicht erkennen, oder?

    du hast irgendwie recht :D. daher glaub ich auch der parameter von accumulate



  • daher glaub ich auch der parameter von accumulate

    Jein. Der letzte Parameter dient als Anfangswert. Schließlich will man nicht immer bei 0 beginnen. Und wenn man accumulate z.B. zum Multiplizieren benutzen will, dann wäre 0 etwas schlecht 🙂

    Das dadurch der Rückgabewert automatisch herleitbar wird ist natürlich ein netter Nebeneffekt.


Anmelden zum Antworten