Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo Community, > > ich habe folgendes Problem, welches ich bisher noch nicht lösen konnte. > > Ich habe ein Array mit 10 Feldern, welche mit Messwerten vom Typ Float gefüllt sind. > > Ich will die beiden grössten und die beiden kleinsten Messwerte entfernen und dann aus den restlichen > > Werten den Mittelwert bilden. Mit der math.fmax und math.fmin-Funktion kann ich allerdings immer > > nur zwei Werte vergleichen. > > Meine Idee war jetzt eine Funktion zum sortieren zu verwenden, um die Messwerte der Grösse nach zu > > sortieren und danach die beiden kleinsten und beiden grössten zu entfernen. > > Eine Funktion zum sortieren habe ich allerdings nicht finden können. Gibt es so etwas nicht, oder > > stelle ich mich nur zu blöd an? Irgendwie stehe ich gerade auf dem Schlauch... > > Vielleicht kennt jemand eine Lösung für mein Problem? > > > > MfG HenryM > > Hallo Henry, > eindimensionale Array's lassen sich ganz einfach aufsteigend sortieren... > > Bei 10 Feldern schaut das so aus: > > ....schnipp... > <code> > float wert[10]; > float i; // Zwischenspeicher > int x; // Zähler > int y; // Zähler > > for x = 0...10 > {for y = 0...9 > {if wert[y] > wert[y+1] > {i = wert[y+1]; > wert[y+1] = wert[y]; > wert[y] = i; > } > } > } > </code> > ...schnapp... > > nitraM