Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 23.06.2010, 19:08 Titel: Größte, zweitgrößte, ... Zahl einer Menge ermitteln |
|
|
Hey,
Ich brauch Hilfe:
Ich brauch irgendwas um den größten Wert herauszufinden.
Und auch irgendetwas um den zweitgrößten Wert, usw. zu finden.
Z.B.
[...]
IF wert1 {am größten} {(ggf.) von wert1, wert2, wert3} THEN
?"Wert 1 ist am größten ! "
IF wert2 {am zweitgrößten} {(ggf.) von wert1, wert2, wert3}
END IF
[...]
Oder so..
Editiert durch Moderator: Wenig aussagekräftigen Thementitel "Brauche Hilfe" ersetzt. (Sebastian) _________________ Regards  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 23.06.2010, 19:25 Titel: |
|
|
Du könntest dir eine Funktion schreiben, die den aktuellen Wert mit zwei Variablen vergleicht, nämlich den Variablen groessteZahl und zweitgroessteZahl.
Wenn der Wert größer ist als die größte Zahl, dann bekommt die zweitgrößte den Wert der größten und der aktuelle Wert wird als größte Zahl gespeichert.
Wenn der Wert kleiner ist als die größte Zahl aber größer als die zweitgrößte, wird der Wert eben der zweitgrößten zugeordnet.
Wenn die Zahl kleiner ist als beide Zahlen, dann passiert eben nichts.
So gehst du dann alle Werte durch und am Ende hast du die größte und zweitgrößte Zahl.
btw.: Treffendere Threadnamen bitte  |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
|
Nach oben |
|
 |
frebas
Anmeldungsdatum: 20.06.2008 Beiträge: 245
|
Verfasst am: 23.06.2010, 21:14 Titel: |
|
|
bubblesort würde sinn machen wenn es effektiv sein muss und wenn man man die reihenfolge aller oder fast aller werte braucht, ansonsten ist sowas auch gut:
Code: | dim as integer maxwert, wert(999)
for temp as integer = 0 to 999
if wert(temp)>maxwert then maxwert=wert(temp)
next
print "größter wert: "&maxwert
sleep |
|
|
Nach oben |
|
 |
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 23.06.2010, 21:33 Titel: |
|
|
Zitat: | bubblesort würde sinn machen wenn es effektiv sein muss |
Im Gegenteil, Bubblesort macht dann Sinn wenn es nicht effektiv sondern einfach sein muss. QuickSort ist super wenn es schnell gehen muss, schnell implementiert und relativ gut verständlich. |
|
Nach oben |
|
 |
OdinX

Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 24.06.2010, 09:00 Titel: |
|
|
Ach was. verkettete Listen sind viel besser zum sortieren^^ |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
|
Nach oben |
|
 |
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 24.06.2010, 16:33 Titel: |
|
|
Ich hatte mir eher was von
{wenn wert1 am größten, dann wert1 = ... }
einfach so alles auflisten dauert zu lange, weil es zu viele sind _________________ Regards  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 24.06.2010, 17:18 Titel: |
|
|
Wenn du alle Werte in ein Array schreibst (das wird in deinem Fall vermutlich sowieso eine gute Möglichkeit sein, die Werte zu speichern) und dieses dann mit einem der oben beschriebenen Verfahren sortierst, dann bedeutet
Code: | IF wert2 = array(2) THEN ' ... |
in etwa das, was du mit "Wenn wert2 = der zweitgrößste der Liste array()" meinst. Doppelt vorkommene Werte mal nicht berücksichtigt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|