Ich kann Dir nicht folgen. Du hast doch beide Zahlen selbst zugewiesen, da musst Du doch nur das Ergebnis errechnen und mit der Eingabe vergleichen.
Ich zeig mal kurz den Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
Zahl1:= random(10) ;
Zahl2:= random(10) ;
Zahl3:=random(6) ;
Zahl4:=random(6) ;
EditZahl1.Text:= IntToStr(Zahl1) ;
EditZahl2.Text:= IntToStr(Zahl2) ;
EditZahl3.Text:= IntToStr(Zahl3) ;
EditZahl4.Text:= IntToStr(Zahl4) ;
end;
procedure TForm1.Button2Click(Sender: TObject);
var Ergebnis, ggT :integer ;
begin
Ergebnis:= Zahl1 + Zahl2 ;
ggT(c,d, gggT) ;
EditZahl6.Text:= gggt ;
If IntToStr(Ergebnis) = EditZahl5.Text and InttoStr(ggT) = EditZahl6.Text then
Showmessage('Sehr gut gemacht, weiter so!!!') ;
end;
procedure TForm1.ggT(c,d:integer; var ggTeiler: integer);
var merk: integer;
begin
repeat
merk:= c mod d ;
c:= d ;
d:=merk
until d= 0 ;
ggTeiler:=c
end; {of ggT}
end.
In Zeile 74, "ggT(c,d,gggT)" zeigt er mir noch die Fehler "Operator oder Semikolon fehlt" und "Anweisung erforderlich, aber Ausdruck vom Typ 'Integer" gefunden an.
Und wie siehts aus mit dem Vergleich der Ergbnisse, geht das so?