AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Division

Ein Thema von Gregor00 · begonnen am 23. Aug 2003 · letzter Beitrag vom 24. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#1

Division

  Alt 23. Aug 2003, 22:47
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....

thx
greg
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Division

  Alt 23. Aug 2003, 22:52
Moin Greg,

Zitat von Gregor00:
allerdings soll als Ergebnis ne zahl vom Typ Real rauskommen, also eine einfache zahl ohne Nachkommastellen
also das ist jetzt ein Widerspruch in sich. Der Typ Real hat nun einmal Nachkommastellen. Du brauchst jetzt wohl eher cardinal oder integer.

Sind Deine Zufallszahlen jetzt Gleitkommazahlen?
Sollen die Nachkommastellen jetzt abgeschnitten werden, oder muss die Division zwingend aufgehen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#3

Re: Division

  Alt 23. Aug 2003, 22:55
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)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Division

  Alt 23. Aug 2003, 23:02
Das einfachste wäre:

Delphi-Quellcode:
var
  i: Integer;
begin
  i := 5 div 3; //div gibt den ganzzahligen Anteil einer Division zurück - in diesem Fall 1
end;
Edit: Vergesst es, Leute, ich hab nicht richtig gelesen
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: Division

  Alt 23. Aug 2003, 23:05
Delphi-Quellcode:

  X := Random(1000) +1;
  Y := Random(1000) +1;
  Z := X div Y;
X wird "rund" gemacht. Sollte das nicht das sein was du willst dann ist das nächste richtig

Delphi-Quellcode:

  Y := Random(1000) +1;
  Z := Random(1000) +1;
  X := Z * Y;
X ist nun immer ohne Rest durch Z und Y teilbar, somit auch Z := X div Y und 0 == X mod Y.

Gruß Hagen
  Mit Zitat antworten Zitat
Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#6

Re: Division

  Alt 23. Aug 2003, 23:11
@ 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
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Division

  Alt 23. Aug 2003, 23:21
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
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Division

  Alt 24. Aug 2003, 07:20
@ 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
Angehängte Dateien
Dateityp: zip rechnen.zip (162,3 KB, 4x aufgerufen)
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Division

  Alt 24. Aug 2003, 10:00
Code:
var Ergebnis: integer;
    Y,Z: real;

Y := Random(1000) +1;
Z := Random(1000) +1;

Ergebnis:=round(Y/Z);
Gruß Matze
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Division

  Alt 24. Aug 2003, 11:25
@Matze, wenn du so vorgehst und dann Z * Result ausrechnest ist es dann immer gleich Y ??

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz