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.