![]() |
Division
Hallo
Also ich hab hier eigentlich nen relativ einfaches Problem (zumindest glaub ich das) aber ich komm einfach nicht auf die Lösung: Also ich hab zwei variablen, denen wird per Random nen zufallswert zugeordnet. Dann sollen die beiden Werte dividiert werden, allerdings soll als Ergebnis ne zahl vom Typ Real rauskommen, also eine einfache zahl ohne Nachkommastellen. Mein problem ist, dass ich es nicht schaffe den beiden Variablen "zufällige" zahlen zuzuordnen, dass als ergebnis runde zahlen rauskommen. ich hoff ihr versteht was ich mein Steh grad irgentwie aufem Schlauch.... :shock: thx greg |
Re: Division
Moin Greg,
Zitat:
Sind Deine Zufallszahlen jetzt Gleitkommazahlen? Sollen die Nachkommastellen jetzt abgeschnitten werden, oder muss die Division zwingend aufgehen? |
Re: Division
mist sorry war natürlich quatsch was ich geschrieben hab
real = mit nachkommastellen integer = ohne Nachkommastellen also nochmal richtig: das Ergebnis soll von Typ Integer sein!! danke für den Hinweis (naja war nen anstrengender Tag heut) |
Re: Division
Das einfachste wäre:
Delphi-Quellcode:
Edit: Vergesst es, Leute, ich hab nicht richtig gelesen :oops:
var
i: Integer; begin i := 5 div 3; //div gibt den ganzzahligen Anteil einer Division zurück - in diesem Fall 1 end; |
Re: Division
Delphi-Quellcode:
X wird "rund" gemacht. Sollte das nicht das sein was du willst dann ist das nächste richtigX := Random(1000) +1; Y := Random(1000) +1; Z := X div Y;
Delphi-Quellcode:
X ist nun immer ohne Rest durch Z und Y teilbar, somit auch Z := X div Y und 0 == X mod Y.Y := Random(1000) +1; Z := Random(1000) +1; X := Z * Y; Gruß Hagen |
Re: Division
@ Chewie
nein DIV kann ich nicht benutzen, weil das Ergebnis dann nicht mehr richtig wäre (es werden ja einfach die nachkommastellen gestrichen) @ negaH hört sich gut an erd#s mal ausprobieren... cu greg |
Re: Division
Um's nochmal anders auszudrücken, statt per DIV auf ein rundes Ergebniss zu hoffen wird das Ergebnis von vornherein so erzeugt das die Division ohne Rest ist. Die inverse Operation einer Divison ist dann logischer weise die Multiplikation :) Einfach Z := X div Y umstellen und den Rest per Zufall erzeugen.
Gruß Hagen |
Re: Division
Liste der Anhänge anzeigen (Anzahl: 1)
@ Gregor
Wenn du mit das ergebnis mit nachkommastellen haben willst dann musst du schon mit Real rechnen! Ich hab dir mal nen primitiven Rechner gemacht! Hoffe es hilft! greetz Spider |
Re: Division
Code:
Gruß Matze
var Ergebnis: integer;
Y,Z: real; Y := Random(1000) +1; Z := Random(1000) +1; Ergebnis:=round(Y/Z); |
Re: Division
@Matze, wenn du so vorgehst und dann Z * Result ausrechnest ist es dann immer gleich Y ??
Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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