Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249141 (10577)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Größetn Wert ermitteln
Dennis
| Datum:26.02.02 11:32 (nevada@online.de) |
Hallo, Wie kann ich auf dem kürzensten Weg (so wenig Zeilen wie möglich) in Profan 7.0 den größten Wert aus vier Variablen ermitteln? '------------------------------------ V1% = 650 V2% = 500 V3% = 600 V4% = 550 Print "Ich bin die größte: ", [???] '------------------------------------ Über Hilfe würde ich mich freuen. Tschuessi, Dennis
Jörg Sellmeyer
| Datum:26.02.02 12:26 (joerse@gmx.de) |
Hallo, Ob das jetzt die kürzeste Lösung ist weiß ich nicht. Ist auf jeden Fall sehr komfortabel. Einfach alles in eine sortierte Listbox und den letzten Eintrag auslesen - fertig Gruß Jörg
    declare v1%,v2%,v3%,v4%,z&
    Declare lb&
    Cls
    V1% = 650
    V2% = 500
    V3% = 600
    V4% = 550
    'diese Zeilen werden benötigt:
    lb&=CreateSortedListBox(%hwnd,"",200,40,200,300)
    AddString(Lb&,Format$("00000000",v1%))
    AddString(Lb&,Format$("00000000",v2%))
    AddString(Lb&,Format$("00000000",v3%))
    AddString(Lb&,Format$("00000000",v4%))
    '*************
    Print "Ich bin die größte: " + str$(val(GetString$(lb&,getcount(lb&) - 1)))
    WaitInput
    Randomize
    WhileLoop 10
    	z&=rnd(2000000)
    	AddString Format$("00000000",z&)' + "=" + str$(z&)
    Wend
    MoveListToList(lb&)
    Print "Ich bin die größte: " + str$(val(GetString$(lb&,getcount(lb&) - 1)))
    WaitInput
Roland G. Hülsmann
| Datum:26.02.02 17:07 (rgh-soft@t-online.de) |
Das ist wohl das kürzeste:
    declare v1%, v2%, v3%, v4%

    V1% = 650
    V2% = 500
    V3% = 600
    V4% = 550

    CLS
    Print "Ich bin die Größte: ";@If(@If(V1% > v2%,V1%,V2%) > @IF(V3% > V4%,V3%,V4%), \
                                 @If(V1% > v2%,V1%,V2%),@IF(V3% > V4%,V3%,V4%))

    WaitInput
    End
Gruß Roland
Denis
| Datum:26.02.02 17:48 (Nevada@online.de) |
Hallo Jörg, Hallo Roland, Beides prima Lösungen. Bei Roland's Verschachtelung blick ich zwar noch nicht so ganz durch, aber das werde ich mir gleich mal genauer ansehen. Auf jeden Fall vielen Dank an Euch beide! Tschuessi, Dennis
Jürgen K.
| Datum:27.02.02 06:40 |
Oder als Procedure mit einer Public-Variablen ... falls es mehr Zahlen werden ... Declare i_Public% Proc GrossZahl Parameters i_Zahl% If i_Zahl% > i_Public% i_Public% = i_Zahl% EndIf EndProc GrossZahl V1% GrossZahl V2% GrossZahl V3% GrossZahl V4% Print i_Public%
Stefan Schnell
| Datum: 28.02.02 00:13 (mail@stschnell.de) |
Oder als Procedure mit einem Array: '*Declare Variables************************* Declare Array# Dim Array#, 8 Declare Max% '*Procedure Maximum************************* Proc Max Declare Result% WhileLoop 8 Result% = @Byte(Array#, &Loop - 1) If Max% < Result% Max% = Result% EndIf EndWhile EndProc '*Main************************************** Randomize WhileLoop 8 Byte Array#, &Loop - 1 = @Rnd(255) EndWhile Clear Max% Max Print Max% WaitKey Print WhileLoop 8 Print @Byte(Array#, &Loop -1) EndWhile WaitKey Dispose Array# '*End*************************************** End Viel Erfolg Stefan Schnell

| Zurück zur Übersicht