Autor Beitrag
Luzifer666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Sa 06.03.04 14:50 
Hallo Community!

Bin blutiger Anfänger und suche einen Rat was ich bei folgender Schleife falsch gemacht hab:

ausblenden Delphi-Quelltext
1:
2:
3:
while ezaehler mod i and enenner mod i = 0
   do ezaehler:= ezaehler div i and enenner := enenner div i
     end;


Der Compiler meckert mir in der zweiten Zeile an, dass die "Left side cannot be assigned to" und dass er am Ende ein "Statement excepted, but expression of type "Integer" found". Ezaehler und Enenner sind in der Procedure deklariert
ausblenden Delphi-Quelltext
1:
 procedure deklaration(a,b,c,d:integer;out ezaehler,enenner:integer);					


Sieht jemand den Fehler oder braucht ihr weitere Infos? Thx schonmal für Hilfe!

Moderiert von user profile iconPeter Lustig: Topic verschoben, Code- durch Delphi-Tags ersetzt

_________________
I can see unknown errors. 8[
Cya & enjoy!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 06.03.04 14:59 
Hallo!

Folgende Fehler:
(1) Die Bedingung in der while-Schleife muss ein Bool'scher Ausdruck sein. Ist es bei Dir aber nicht. So müsste er richtig aussehen:
ausblenden Delphi-Quelltext
1:
while (ezaehler mod i = 0and (enenner mod i = 0do					


(2) Anweisungen werden nicht mit "and" verknüpft. So sieht es richtig aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
begin
  ezaehler:= ezaehler div i;
  enenner := enenner div i;
end;


(3) In Deinem Quelltex macht das letzte "end" keinen Sinn. Aber das hat sich ja durch (2) geklärt.

MfG
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Luzifer666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Sa 06.03.04 15:05 
Ok, die Errors sin weg, aber jetzt ist da leider ein neuer.

So siehts momentan aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
for i := min downto 2 do
begin
  while (ezaehler mod i) and (enenner mod i = 0do
    begin
       ezaehler := ezaehler div i;
       enenner := enenner div i;
    end;


Hinter dem "do" sagt er mir dass der "Operator not applictable to this operand type" ist.
:/

Aber schonmal Danke bis hierhin! ;)

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt

_________________
I can see unknown errors. 8[
Cya & enjoy!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 06.03.04 15:13 
Der erste Teil der Abbruchbedingung stimmt noch nicht ganz mit dem über ein, was ich geschrieben habe. Das ist ja eine Zahl und kein Bool'scher Ausdruck.

Ach ja, benutze doch demnächst bitte die Delphi- anstatt der Code-Tags. Das aktiviert das Syntax-Highlighting.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Luzifer666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Sa 06.03.04 15:36 
Sry, ganet gemerkt! ;)

Also, ich habs hinbekommen! :D

Es hat bei
ausblenden Delphi-Quelltext
1:
2:
begin
  while (ezaehler mod i) and (enenner mod i = 0do


noch ein simples "= 0" hinter dem "ezaehler mod i" gefehlt! ;)

Vielen Dank, hat mir sehr geholfen!
Schönen Tag noch!
cya

_________________
I can see unknown errors. 8[
Cya & enjoy!