Befehle um grösste Zahl herauszufinden

Hallo Zusammen

Ich muss bei einem Projekt eine Funktion einbauen, welche aus 10 verschiedenen Zahlen die höchste davon herausnimmt und “returned” wird. Gibt es dafür einen Befehl wie in Python “max();” zum Beispiel. Wie ich herausgefunden habe, bedeutet max bei C++ eine addition stimmt das oder sind das völlig falsche infos?

Lieber Gruss und vielen Dank für eure Antworten.

Wie ich herausgefunden habe, bedeutet max bei C++ eine addition stimmt das oder sind das völlig falsche infos?

Interessante Quellen du hast.....

Andere Leute würden in die Doku schauen, oder sich anschauen, wie max() definiert ist.

Moderne Möglichkeit: max_element

Ich muss bei einem Projekt eine Funktion einbauen, welche aus 10 verschiedenen Zahlen die höchste davon herausnimmt und "returned" wird.

Was hindert dich?

Hallo,
noch ein link aus der Arduino Referenz link

natürlich kannst Du auch selbst eine function schreiben die Dir das "returned" was Du gerne hättest.

Heinz

warum einfach wenn es auch umständlich geht !
dann weis man wenigstens wo die ganzen Ram Bytes gelandet sind !

maxliste=0;
for i bis max liste
   if value[i] > maxliste
       maxliste = value

für den index hast du ja das i zum mitlocken

Hallo,

kann man alles machen. Ich benutze max() im allgemeinen einfach. Wenn der Compiler mich anmault oder das Ergebins seltsam ist, schau ich bei den Beschreibungen nach.
Allerdings schau ich fast immer ganz am Anfang die Dokus grob durch, ob etwas mir Unbekanntes auftaucht oder was Übliches fehlt. Zugegeben, ich programmiere schon seit vielen Jahren...

Gruß aus Berlin
Michael

Die Dokus sind manchmal nur hilfreich wenn schon ein gewisses Grundwisse vorhaden ist.
Ohne passendes Stichwort kann man lange suchen.

bmbbsr:
Ohne passendes Stichwort kann man lange suchen.

Die Auswahl der Stichwörter für dieses Thema ist natürlich kompliziert.

Tipp: arduino max

Erster Treffer

Zweiter Treffer

War nur Glück!

Gruß Fips

bmbbsr:
Die Dokus sind manchmal nur hilfreich wenn schon ein gewisses Grundwisse vorhaden ist.

!?!?

Wenn Dokus für Leute geschrieben wären, die schon Bescheid wissen, dann bräuchte man sie nicht zu schreiben.
Die Dokus sind unglaublich hilfreich, wenn man sich eben genau dieses Grundwissen aneignen möchte. Oft ist "Grundwissen" nur eine Kombination von größern Haufen Spezialwissen.

Beispiel:
Für den Schüler, der es zum ersten mal sieht, ist das Ohmsche Gesetz Spezialwissen.
Für den Entwickler, ist es Grundwissen, welches er ohne jede Reflektion, also Automatisiert, einsetzt.

Mantra:

Wir lernen, indem wir es tun!

In diesem Fall, lernen wird das Doku lesen, in dem wir es tun.
Natürlich wird man zwischendurch ein paar Fachbegriffe nachschlagen müssen.
Das ist bei JEDEM neuen Fachgebiet so.
Denn jedes Gebiet hat seine Fachterminologie.

Leider ist nicht jeder bereit, willens, oder kommt von selber auf die Idee, so zu agieren, sondern sucht sich lieber Halbwahrheiten aus dem Netz.

So dann sowas bei rum kommt:

Wie ich herausgefunden habe, bedeutet max bei C++ eine addition stimmt das oder sind das völlig falsche infos?

Tipp:
Da es oft kein absolutes/objektives/offensichtliches Wahr/Falsch gibt, macht es Sinn, Annahmen und Aussagen eine Wahr Wahrscheinlichkeit zu zuordnen.

Beispiel:
Offiziellen Dokus darf man Wahrscheinlichkeitswerte von 0.9 zuordnen
Forenbeiträgen und Youtube Videos 0.5
Eigenen Annahmen und Fantasien, bei geübten 0.5, und bei Anfängern 0.2
(da mag jeder seine eigenen Einstufungen verwenden)

Rechnung:
Da der TE die "addition" irgendwo aufgeschnappt hat, gebe ich ihr 0.5
Da der TE offensichtlich noch wenig Erfahrung hat, gebe ich ihm 0.2

Die Aussage ist also mit einer Wahrscheinlichkeit von 0.5*0.2 Wahr.
klarer:
zu 10% Wahr
zu 90% Falsch

Da wäre für mich der Punkt gekommen, in die Doku zu schauen.
Was macht max()?
In den Code schauen: Wie macht max() es?
Damit schraube ich die eine Wahrscheinlichkeit von 0.5 auf 0.9 hoch.
Und da ich als Anfänger durch dieses lernen meine eigene Kompetenz steigere, bessern sich auch meine Fantasien/Annahmen. Auch ich steigere mich, in Sachen max() begreifen, z.B. von 0.2 auf 0.8

Neue Rechnung nach Doku lesen: 0.9*0.8
(die Doku ist zu 90% wahr, und davon habe ich 80% begriffen)
Damit habe ich den vermutlichen Wahrheitsgehalt meiner Annahmen von 10% auf sagenhafte 72% erhoben.

bmbbsr:
warum einfach wenn es auch umständlich geht !
dann weis man wenigstens wo die ganzen Ram Bytes gelandet sind !

maxliste=0;

for i bis max liste
  if value[i] > maxliste
      maxliste = value




für den index hast du ja das i zum mitlocken

Hast Du mal Deinen Compiler gefragt, was der von Deinem Code hält?

Was machst Du, wenn Du das Maximum von negativen Zahlen bestimmen willst?

Gruß Tommy

Hi

Hilfreich ist's, wenn man den ersten Wert übernimmt und dann weiter prüft - hatte sich im anderen Thread heraus kristallisiert.

MfG

Klar, das hatte ich dort ja vorgeschlagen. Meine Fragen waren an bmbbsr gerichtet.

Gruß Tommy

bmbbsr:
warum einfach wenn es auch umständlich geht !
dann weis man wenigstens wo die ganzen Ram Bytes gelandet sind !

maxliste=0;

for i bis max liste
  if value[i] > maxliste
      maxliste = value




für den index hast du ja das i zum mitlocken

Hi vielen Dank für diese Idee, ich habe deinen Code noch leicht angepasst um ihn auf mein Projekt spezifischer zu machen. Werde dich in der Arbeit als Quelle angeben, vielen Dank.

Gruss

bmbbsr:
warum einfach wenn es auch umständlich geht !
dann weis man wenigstens wo die ganzen Ram Bytes gelandet sind !

maxliste=0;

for i bis max liste
  if value[i] > maxliste
      maxliste = value




für den index hast du ja das i zum mitlocken

Was soll das für eine Programmiersprache sein? C/C++ ist das sicher nicht und funktionieren wird das garantiert auch nicht.

Hi

Das nennt man Pseudocode - soll den Fragesteller dazu verleiten, selber nachzudenken.
Allerdings muß das maxliste=0; anders aussehen → maxliste=value[0];
Es ist nicht gesagt, daß die vorkommendenen Werte >=0 sind - und dann klappt Das schon Mal nicht.
Dann wird von 1 bis <anzahl hochgezählt und auf > oder < geprüft - je nachdem, was man haben will.

mfG

postmaster-ino:
Hi

Das nennt man Pseudocode - soll den Fragesteller dazu verleiten, selber nachzudenken.

Ok, das lass ich gelten und scheinbar hat es beim Fragesteller ja auch geholfen. :wink:

postmaster-ino:
Das nennt man Pseudocode

Dann sollte man das dazu schreiben, sonst ist es einfach Schrottcode.

Gruß Tommy