(Anfänger) Kleinste Zahl zurückgeben
-
@siebererrene sagte in (Anfänger) Kleinste Zahl zurückgeben:
Und wenn ich auf YouTube Tutorials anschaue, dann verbinden die auch immer "cout" mit C++?
solltest du lassen. ernsthaft!
Kann mir jemand sagen warum?
in c++ läuft alles über streams und der ausgabestream heißt nunmal c(-onsole)out(-put)
-
@siebererrene sagte in (Anfänger) Kleinste Zahl zurückgeben:
dann verbinden die auch immer "cout" mit C++
Das Problem ist ja nicht das cout sondern das C statt C++.
-
@siebererrene sagte in (Anfänger) Kleinste Zahl zurückgeben:
Okay, danke für die schnellen Antworten!
Soll heißen eigentlich lerne ich eine Mischung aus beidem und nichts richtig?
Wahrscheinlich ist das so. Ist aber (leider) ein weit verbreitetes Phänomen. So weit verbreitet, dass es sogar einen Talk darüber gibt, dass Lehrende, die C++ lehren, nicht C lehren sollten (Stop teaching C). (Wenn man C lehren will, soll man natürlich C lernen - nur wenn es ein C++-Kurs ist, sollte eben nicht C drin sein)
Habt jemand von euch eine gute Quelle wo ich C++ selber erlenern kann?
Hm, das ist immer schwierig. Gute Bücher sind rar. Empehlungen: "Der C++-Programmierer" von Breymann und/oder "C++ Primer" von Lippman et al.
Und dann gibt es noch die C++ core guidelines (wo in I.13 dein Problem beschrieben wird), die aber vermutlich noch zu fortgeschritten sind.
Ansonsten möchte ich aber noch anmerken, dass dein Code ansonsten gut aussieht! Insbesondere dass du mit
int min = arr[0];
anfängst, finde ich gut. In deiner for-Schleife kannst du dann allerdings das 0. Element überspringen. Das wird nicht kleiner als es selbst sein.Wenn du C++ lernen willst, gehört noch Wissen über die STL dazu (Referenzen findest du hier oder hier). Schau dir insbesondere die Referenzen der Header
<vector>
,<string>
und<algorithm>
an (in der Reihenfolge).Auch für dein Problem gibt es bereits eine fertige Lösung. Sie nennt sich std::min_element (mit Beispielcode in gutem C++!). (mag noch zu fortgeschritten sein - es ist auf jeden Fall kein Fehler, Dinge wie die Suche nach dem Minimum einmal selbst implementiert zu haben)
-
Dieser Beitrag wurde gelöscht!
-
@Wade1234 sagte in (Anfänger) Kleinste Zahl zurückgeben:
in c++ läuft alles über streams und der ausgabestream heißt nunmal c(-onsole)out(-put)
char
output. Bezüglich Konsolen, Fenstern, Pipes, etc. ist C++ komplett agnostisch.
-
@SeppJ
das heißt echt char output?
-
-
@Wade1234 sagte in (Anfänger) Kleinste Zahl zurückgeben:
@SeppJ
das heißt echt char output?Stroustrup muss es wissen.
-
@Wade1234 sagte in (Anfänger) Kleinste Zahl zurückgeben:
das heißt echt char output?
Steht ja doch auch nirgends geschrieben, daß
STDOUT
und Kollegen an einer Konsole, einem Terminal hängen müssen.Auch in Anbetracht daß es auch
std::wcout
und Co für wide characters gibt, ist character out logischer.@siebererrene sagte in (Anfänger) Kleinste Zahl zurückgeben:
int returnSmallest( int arr[] ){
Dein Stichwort für das da ist Array-to-Pointer decay1). Die eckigen Klammern bei Funktionsparametern sind exakt dasselbe als stüde da für Dein Beispiel
int returnSmallest(int *arr) {
Nimm in C++ besser
std::array<>
, oderstd::vector<>
wenn Du einen Container willst, der in der Größe flexibel ist.1) Ja, streng genommen "zerfällt" da nichts, aber der Begriff hat sich nunmal eingebürgert. Der Name eines Arrays entspricht in den meisten Verwendungsfällen der Adresse des ersten Elements des Arrays.
-
Dieser Beitrag wurde gelöscht!