Frage zu Funktion (funktioniert nicht ;)
Übersicht

![]() |
FafnirBetreff: Frage zu Funktion (funktioniert nicht ;) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Ich arbeite gerade mit einem Arbeitskollegen an einer Aufgabe, die wir kurz programmtechnisch durchgehen wollten, uns aber kein Ergebnis liefert. Es geht darum, vier Zahlen zu vergleichen und die kleinste davon auszugeben. Die Aufgabe gibt folgenden Beispielcode vor: vergleich(vergleich(a,b),vergleich(c,d)) Dazu haben wir folgenden Code geschtrieben: BlitzBasic: [AUSKLAPPEN] Dim ergebnis(2) Aber irgendwie ist das Ergebnis immer 0... Hat jemand eine Ahnung an was das liegen könnte? Kann die Funktion so evtl gar nicht ausgeführt werden? Daran, daß wir verschiedene Variablen nicht als global definiert haben kann es nicht liegen (oder?), denn auch als globale Variablen hat es nicht geklappt. Vielen Dank schonmal für Hilfen!!!! Edit: hm ist in dem Code irgendwo der Wurm drin? Ich glaube das ist nicht ganz ausgereift... Die Frage zu der Aufgabe lautet: "Welches Ergebnis bringt folgende Funktion" (der Mann ist Schwede und das ganze ist auch auf schwedisch - furchtbar für mich ![]() Ich glaube, die Frage ist vor allem, ist die Antwort "die kleinste aller Zahlen" oder "geht gar nicht"? |
||
Werbung:
User posted image Es sind User posted image Benutzer im Chat |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Edit: Oder hab ich dich jetzt falsch verstanden und du darfst keine Rückgabewerte benutzen?
Code: [AUSKLAPPEN] Function f(a,b) if a < b then return a else return b endif End Function print "Die kleinste Zahl ist: " + f(f(1,2), f(3,4)) Mit Rückgabewerten lässt sich das viel einfacher lösen ![]() f(1,2) gibt dann automatisch 1 zurück, f(3,4) gibt 3 zurück, raus kommt f(1,3) und das gibt 1 zurück |
||
![]() |
Fafnir |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super, funktioniert, danke!!!!!
Ich dachte auch an Return (zuerst), mir ist aber keine klare Lösung eingefallen, aber von den zweien die wir probiert hatten war meine letzte doch die etwas elegantere (hat zwar nicht funktioniert aber egal ![]() ![]() Danke nochmal! ![]() |
||
Werbung:
User posted image Es sind User posted image Benutzer im Chat |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
BlitzBasic: [AUSKLAPPEN]
Wenn du "schritt" den Wert 0 oder 1 zuweist, dann klappt dein obiger Code auch. Obwohl ein Dimensionsfeld nicht wirklich sinnvoll ist, in deinem Fall! (Wurde ja aber schon gesagt) grüße |
||
![]() |
VinzBetreff: . |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich immer versuche alles mit If abfragen zu losen hier meine variante:
Code: [AUSKLAPPEN] Graphics 640,480, 2
SetBuffer BackBuffer() Cls a=Input("Zahl1: ") b=Input("Zahl2: ") c=Input("Zahl3: ") d=Input("Zahl4: ") If a<b And a<c And a<d Then Text 0,200, "kleinste Zahl ist: "+a+" /Zahl1" If b<a And b<c And b<d Then Text 0,200, "kleinste Zahl ist: "+b+" /Zahl2" If c<b And c<a And c<d Then Text 0,200, "kleinste Zahl ist: "+c+" /Zahl3" If d<b And d<c And d<a Then Text 0,200, "kleinste Zahl ist: "+d+" /Zahl4" Repeat Until KeyHit(1) End |
||
![]() |
ArtemisBetreff: Re: Frage zu Funktion (funktioniert nicht ;) |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Vinz
Fafnir hat Folgendes geschrieben: Die Aufgabe gibt folgenden Beispielcode vor:
vergleich(vergleich(a,b),vergleich(c,d)) Das wäre mit deinem nicht erfüllt!! Troztdem lustig! |
||
![]() |
VinzBetreff: Re: Frage zu Funktion (funktioniert nicht ;) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fafnir hat Folgendes geschrieben: Die Aufgabe gibt folgenden Beispielcode vor:
vergleich(vergleich(a,b),vergleich(c,d)) So ist das gemeint, dachte das waere wirklich nur ein "Beispielcode". |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
kan auch sein!! *kein ahnung hab* | ||
![]() |
AlfadurBetreff: Re: . |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vinz hat Folgendes geschrieben: Da ich immer versuche alles mit If abfragen zu losen hier meine variante:
Code: [AUSKLAPPEN] Graphics 640,480, 2
SetBuffer BackBuffer() Cls a=Input("Zahl1: ") b=Input("Zahl2: ") c=Input("Zahl3: ") d=Input("Zahl4: ") If a<b And a<c And a<d Then Text 0,200, "kleinste Zahl ist: "+a+" /Zahl1" If b<a And b<c And b<d Then Text 0,200, "kleinste Zahl ist: "+b+" /Zahl2" If c<b And c<a And c<d Then Text 0,200, "kleinste Zahl ist: "+c+" /Zahl3" If d<b And d<c And d<a Then Text 0,200, "kleinste Zahl ist: "+d+" /Zahl4" Repeat Until KeyHit(1) End vinz, du solltest dir auf jedenfall nen anderen programmierstil zulegen, bzw anderer herangehensweisen überlegen, wenn du vorhast weiter SO zu programmieren dann wird das irgendwann nix mehr. was würdest du tun wären es nicht 4 sondern 10 oder 100 zahlen?? |
||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
habs auch mal probiert!
Is eigentlich übelst einfach: BlitzBasic: [AUSKLAPPEN] a=Input(\"zahl1\") |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Fafnir |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, peinlich für mich, ich weiß ![]() Deine Lösung, Waveblue, entspricht der von Jolinah. Der Code ist aber schön effizient und klein, ganz anders als mein Versuch ![]() ![]() |
||
Werbung:
User posted image Es sind User posted image Benutzer im Chat |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group