Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Array an Function übergeben
Platinum - Do 07.05.09 09:01
Titel: Array an Function übergeben
Hallo miteinander,
ich will ein array an meine function übergeben, aber ich hab irgendwo einen Syntaxfehler und komme nicht dahinter :X Ich hoffe mir kann jemand helfen, bin zwar schon über
http://www.delphi-forum.de/viewtopic.php?t=69886&highlight=array+function+%FCbergeben gestolpert,das hat mich aber leider nicht weitergebracht :(
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
function BinSuche(l,r:extended; x:integer; var a: TMyArray):boolean; Var m:integer;
begin While (l<=r) do begin m:=TRUNC((l+r)/2); writeln(m); writeln(l,r,a[10]); if x=a[m] then result:=true; if x<a[m] then BinSuche(m+1,r,a,x) else BinSuche(l,m-1,a:Tmyarray,x); readln; end; if l>r then result:=false; end;
Type TmyArray : array[1..10] of integer; Var x,i:integer; l,r:extended; gefunden:boolean; a:Tmyarray; begin x:=7; l:=1; r:=10; for i:= TRUNC(l) to TRUNC(r) do a[i]:=i;
gefunden:=BinSuche(l,r,a,x); if gefunden then writeln('Die Zahl',x,'wurde gefunden'); if not gefunden then writeln('Die gesucht Zahl ist nicht vorhanden');
readln;
end. |
Xentar - Do 07.05.09 09:16
Vielleicht hilft es, den Type vor der Funktion, wo er verwendet wird, zu definieren.
Platinum - Do 07.05.09 11:03
Nein,leider auch nicht :(
Regan - Do 07.05.09 11:05
Hallo,
kann es sein, dass du deine Parameter nicht kennst :lol: . Vielleicht solltest du mal die Variablen bennen.
Platinum hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
function BinSuche(l,r:extended; x:integer; var a: TMyArray):boolean; Var m:integer; begin While (l<=r) do begin m:=TRUNC((l+r)/2); writeln(m); writeln(l,r,a[10]); if x=a[m] then result:=true; if x<a[m] then BinSuche(m+1,r,a,x) else BinSuche(l,m-1,a:Tmyarray,x); readln; end; if l>r then result:=false; end;
Type TmyArray : array[1..10] of integer; Var x,i:integer; l,r:extended; gefunden:boolean; a:Tmyarray; begin x:=7; l:=1; r:=10; for i:= TRUNC(l) to TRUNC(r) do a[i]:=i;
gefunden:=BinSuche(l,r,x,a); if gefunden then writeln('Die Zahl',x,'wurde gefunden') else writeln('Die gesucht Zahl ist nicht vorhanden');
readln;
end. | |
Edit: Noch ein Style-Update :wink: .
Platinum - Do 07.05.09 16:50
x] Vor lauter Code die Variablen nicht mehr sehn ;)
Danke sehr, konnte meinen Code vervollständingen und noch 2 Fehler entdecken ;) Falls jemand zufällig über Google hier rein stolpert:
Binäre, rekursive Suche in Delphi
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62:
| program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
Type TmyArray = array[1..10] of integer; Var x,i:integer; l,r:extended; gefunden:boolean; a:Tmyarray;
function BinSuche(l,r:extended; x:integer; var a: TMyArray):boolean; Var m:integer; gefunden2:boolean; begin
While (l<=r) and not gefunden2 do begin m:=TRUNC((l+r)/2); writeln('Wert der Mitte: ',m); if x=a[m] then gefunden2:=true; if x>a[m] then begin l:=m+1; BinSuche(l,r,x,a) end else begin r:=m-1; BinSuche(l,r,x,a); end; end; if l>r then result:=false;
if gefunden2=true then result:=true; end;
begin x:=7; l:=1; r:=10; for i:= TRUNC(l) to TRUNC(r) do a[i]:=i;
gefunden:=BinSuche(l,r,x,a);
if gefunden = true then writeln('Die Zahl "',x,'" wurde gefunden') else writeln('Die gesucht Zahl ist nicht vorhanden');
readln;
end. |
jaenicke - Do 07.05.09 23:46
Ich verstehe vor allem nicht so recht wie man darauf überhaupt kommt, denn wenn ich normal spreche, dann mache ich das ja auch nicht. :gruebel:
jaenicke hat folgendes geschrieben : |
Schau mal unabhängig vom Programmieren. Welchen dieser beiden Sätze wirst du dann sagen:- Wenn "das Wetter ist schön" wahr ist, dann werde ich heute Fußball spielen gehen.
- Wenn das Wetter schön ist, dann werde ich heute Fußball spielen gehen.
Na? Wirst du wirklich den ersten Satz nehmen? ;-)
Eben, genau das ist aber das, was du in Delphi geschrieben hast... |
Nichtdestotrotz sind Fehler ja am Anfang normal, ich habe dafür andere gemacht. :mrgreen:
elundril - Fr 08.05.09 00:24
jaenicke hat folgendes geschrieben : |
Ich verstehe vor allem nicht so recht wie man darauf überhaupt kommt, denn wenn ich normal spreche, dann mache ich das ja auch nicht. :gruebel: jaenicke hat folgendes geschrieben : | Schau mal unabhängig vom Programmieren. Welchen dieser beiden Sätze wirst du dann sagen:- Wenn "das Wetter ist schön" wahr ist, dann werde ich heute Fußball spielen gehen.
- Wenn das Wetter schön ist, dann werde ich heute Fußball spielen gehen.
Na? Wirst du wirklich den ersten Satz nehmen? ;-)
Eben, genau das ist aber das, was du in Delphi geschrieben hast... | Nichtdestotrotz sind Fehler ja am Anfang normal, ich habe dafür andere gemacht. :mrgreen: |
ich hab den fehler auch gemacht und ich glaube es kommt daher weil man alle anderen abfragen mit = macht.
lg elundril
Platinum - Fr 08.05.09 16:11
hm..,ok ;) merk ich mir für die zukunft :] (aber das programm macht bereits was es soll, von daher bin ich schon glücklich :D)
In der funktion hab ichs aber richtig gemacht x]
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!