Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit For-Schleife
guido12345 - Sa 12.09.09 10:15
Titel: Problem mit For-Schleife
hallo, ich habe folgende programm ausprobiert, und musste (zu meiner irritation) feststellen, dass es nicht funktoniert??
das programm sieht folgendermaßenaus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure... var Ausgabe, Eingabe : string; x : integer; begin
Eingabe := Edit1.text; Ausgabe := '' ;
for x := length(Edit1.text) to 1 do begin Ausgabe := Ausgabe + Eingabe[x] end;
if Ausgabe = Eingabe then Label1.caption := 'Polinom.'; else Label1.caption := 'Kein Polinom.'
end;
end. |
bitte nur die zeilen von "var" (z.2) bis "end;" (2.letzte zeile) angucken.
also das problem liegt nicht, dass das programm nicht läuft, sondern dass das programm nicht richtig angibt, ob ein wort ein polinom ist oder nicht??(oder es heißt pali... ;) also auf jeden fall oll es überprüfen , ob ein wort rückwärts gelesen das selbe ist wie vorwärts , also z.b. anna oder lagerregal
ps: das programm geht, wenn ich statt der for zeile schreibe: "for x := 1 to length(Edit1.text) do" und dann statt " Ausgabe := Ausgabe + Eingabe[x]" schreibe "Ausgabe := Eingabe[x] + Ausgabe"
ich hoffe ihr könnt mir helfen und vielen dank im vorraus
Moderiert von
Gausi: Delphi-Tags hinzugefügt
Moderiert von
Narses: Titel geändert, war: "warum funktioniert das nicht???".Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am So 04.10.2009 um 22:49
Gausi - Sa 12.09.09 10:51
Hallo und :welcome: in der Entwickler-Ecke,
bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
| 1.2 Beiträge: |
| Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

oder

klicken und den Titel ändern. Danke Dir!
Edit: Und das Wort heißt
Palindrom. ;-)
jakobwenzel - Sa 12.09.09 11:00
Wenn du "Ausgabe" mal ausgeben würdest, würdest du sehen, dass du das ganze gar nicht umdrehst, sondern das ganze Buchstaben für Buchstaben wieder genau wie am Anfang zusammensetzt.
(siehe Gausi)
Gausi - Sa 12.09.09 11:05
@jakobwenzel: Nein, das ist nicht das Problem. ;-) Er hat ja eine funktionierende Lösung, weiß aber wohl nicht, dass man for-Schleifen von groß nach klein nicht mit to laufen lässt, sondern mit was anderem. Aber das sag ich erst, wenn der Titel schöner ist. :zwinker:
Delete - Sa 12.09.09 12:20
Jetzt mach in doch nicht so downto. ;)
Dude566 - Sa 12.09.09 12:23
Du hast einen Rechtschreibfehler in deinem Programm der sehr unschön ist, ich denke es soll Polynom heißen und nicht Polinom.
alzaimar - Sa 12.09.09 12:30
Dude566 hat folgendes geschrieben : |
| Du hast einen Rechtschreibfehler in deinem Programm der sehr unschön ist, ich denke es soll Polynom heißen und nicht Polinom. |
Du hast einen Denkfehler in deinem Post, der sehr unschön ist, ich denke es soll Palindrom heißen und nicht Polynom.
Dude566 - Sa 12.09.09 12:38
Ups überlesen...bin noch nicht richtig wach. :P
guido12345 - So 04.10.09 20:43
dankeschöööön :D
der organist - So 04.10.09 20:55
sonst müsste das sich doch auch mit ner simpleren Abfrage regeln lassen, so nach dem Motto:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function Palindrom(AEingabe):Boolean; begin Result:=true; for k := 0 to (Length(AEingabe) div 2)+1 do if AEingabe[k]<>AEingabe[Length(AEingabe)-k] Result:=false; end; |
is mir grad spontan eingefallen....ungetestet
Yogu - So 04.10.09 21:25
Du hast da was vergessen...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function Palindrom(AEingabe):Boolean; begin Result:=true; for k := 0 to (Length(AEingabe) div 2)+1 do if AEingabe[k]<>AEingabe[Length(AEingabe)-k] then begin Result:=false; Break; end; end; |
Hehe, das erste ist mir auch erst gerade eben aufgefallen ;)
der organist - So 04.10.09 21:43
klar, das then fehlt, und das break; machts schöner ;) aber wenn man in dem Forumstexteditor coded, dann darf das auch mal passieren :D
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!