![]() |
Fehler beim KGV berechnen
Hallo versuche mittels Delphi Programm das kleinste gemeinsame vielfache 2er zahlen auszurechen aber mein computer hängt sich beim starten des programms auf könnt ihr den quellcode bitte mal überprüfen und mir bitte sagen wie ich mache das die variablen x und x1 nicht die positionszahlen von den scrollbars sind sondern zufallszahlen sind.
Danke im voraus
Delphi-Quellcode:
[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; ScrollBar1: TScrollBar; ScrollBar2: TScrollBar; procedure Button1Click(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure ScrollBar2Change(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function kgv(z1,z2 : integer) : integer; var i, sum : integer; ergebnis: boolean; begin i := 1; repeat ergebnis:= false; sum:= z1*1; i:=i+1; if(sum mod z2 = 0 ) then ergebnis := true; until ergebnis = true; result := sum; end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin label1.caption:= inttostr (scrollbar1.position); end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin label2.caption:= inttostr (scrollbar2.position); end; procedure TForm1.Button1Click(Sender: TObject); var x,x1,erg :integer; begin x := scrollbar1.position; x1:= scrollbar2.position; erg:=kgv (x,x1); label3.caption:= inttostr(erg); end; end. |
Re: Bitte schnell überprüfen
Hallo,
gib dem Thema bitte einen aussagekräftigen Titel, damit man es über die Suchfunktion leicht wieder finden kann. Zitat:
![]() ![]() Grüße |
Re: Bitte schnell überprüfen
Hallo, auf Grund Deines Threadtitels denke ich wohl richtig, dies ist eine Hausaufgabe die Du morgen abgeben musst?...no comment
|
Re: Bitte schnell überprüfen
Nein das ist keine aufgabe
Ich möchte nur schnell wissen was im code falsch ist das ich gleich weiter arbeiten kann |
Re: Bitte schnell überprüfen
sum:= z1*1; <- ???
|
Re: Bitte schnell überprüfen
Du musst doch die Scrollbars irgenwann mal initialisieren? Was sollen die Scrollbars tun?...Es bietet sich an, im Formshow bzw. Formcreate Ereignis, diese Werte zu definieren.
|
Re: Bitte schnell überprüfen
die scrollbar soll gar ncihts tun nur die position des tabs soll im label angezeigt werden und wie kann cih die zahlen der scrollabr durch zufalsszahlen ersetzen
|
Re: Bitte schnell überprüfen
Der.Kaktus: TScrollBar hat Defaultwerte 0..100, also das klappt schon. Desweiteren: Da fällt mir nix mehr zu ein <g>.
|
Re: Bitte schnell überprüfen
Der computer hängt sich nur bei unterschiedlichen zahlen auf und nicht bei gleichen zahlen
|
Re: Bitte schnell überprüfen
prima :-D wenn es keine hausaufgabe ist :-D . dann kannst du ja auf biblioteksfunktionen zurückgreifen welche die standardfunktionalität zur verfügung stellen :-) . ansonsten einfach mal die SuFu verweden, das thema kgt/ggv kommt alle paar tage dran ... 8)
'n noch tip, rück deinen code mal ordentlich ein. wenn du willst dass dir jemand hilft, sollte der code zumindest einigermassen lesbar sein :) grüsse GG |
Re: Bitte schnell überprüfen
Endlosschleife!
Die Funktion KGV ist irgendwie eigenartig. Ich wette, das Programm hängt sich genau dann weg, wenn z1 nicht durch z2 teilbar ist? |
Re: Bitte schnell überprüfen
Ja und wie behebe ich das proplem
|
Re: Bitte schnell überprüfen
Debug doch mal die Werte von sum.
Grüße, Uli |
Re: Bitte schnell überprüfen
habe den fehler sum:= z1*i nciht mal 1
|
Re: Bitte schnell überprüfen
könne man den Titel denn nicht doch "aussagekräftiger" anlegen?
|
Re: Bitte schnell überprüfen
Zitat:
|
Re: Bitte schnell überprüfen
Hab es aber nicht überriesen :wall: :wall: :wall: :wall:
|
Re: Bitte schnell überprüfen
Zitat:
|
Re: Bitte schnell überprüfen
Noch ne frage habe hier nen code fürn ggt der mir aber nach kgt vorkommt weiß nicht was von den beiden er jetzt si bitte um aussagen
Delphi-Quellcode:
function ggT(a, b : Integer) : Integer;
VAR r : integer; begin if b = 0 then begin result := 0; exit; end; while b > 0 do begin r := a mod b; a := b; b := r; end; result := a; end; |
Re: Bitte schnell überprüfen
So, und das Ganze nun bitte in verständlichem Deutsch! Soviel Zeit muß sein.
Gruß, Uli |
Re: Bitte schnell überprüfen
Also ich glaube, er funktioniert.
Ich habe es getestet mit 45 & 21 und der ggT müsste 3 sein, was er nachher auch ist. und kgT ist sinnlos, weil der immer 1 ist ;) MfG xZise |
Re: Bitte schnell überprüfen
Da du nicht bereit warst den Titel zu ändern und somit die Forenregeln zu befolgen denen du bei der Registrierung zugestimmt hast mache ich hier erstmal dicht. Teile mir bitte einen aussagekräftigen Titel mit. Diesen werde ich dann ändern und dann kann es weiter gehen. Ganze ohne Regeln geht es in einem Forum nicht wenn das ganze ein gewisses Niveau erfüllen und übersichtlich bleiben soll.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz