Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Gerade Zahl oder Ungerade Zahl? (https://www.delphipraxis.net/159618-gerade-zahl-oder-ungerade-zahl.html)

Rakash 5. Apr 2011 15:42

Delphi-Version: 6

Gerade Zahl oder Ungerade Zahl?
 
Kann mir jemand sagen, wie ich ein Programm schreiben soll, dass überprüft, ob eine Zahl gerade oder ungerade ist?

ich schätze ich brauche eine 'if klausel' ... aber so recht weiß ich auch nicht weiter ... kann mir jemand einen quelltext schreiben, und kurz erläutern? das wäre verdammt nett!

jfheins 5. Apr 2011 15:46

AW: Gerade Zahl oder Ungerade Zahl?
 
Funktion: Delphi-Referenz durchsuchenOdd()
Manuell:
Delphi-Quellcode:
x mod 2 = 1
oder
Delphi-Quellcode:
x and 1 = 1
Ergibt jeweils wahr, wenn die Zahl ungerade ist ;)

P.S.: In der Suchfunktion findet man auch so manches: Hier im Forum suchenZahl gerade

Namenloser 5. Apr 2011 15:52

AW: Gerade Zahl oder Ungerade Zahl?
 
Um zu prüfen, ob eine Zahl gerade oder ungerade ist, kann man prüfen, ob sie ohne Rest durch 2 teilbar ist.

Der Operator für den Rest bei einer ganzzahligen Division ist in Delphi
Delphi-Quellcode:
mod
.
Z.B.:
Delphi-Quellcode:
5 mod 4 = 1
10 mod 7 = 3
3 mod 6 = 0
3 mod 5 = 3
usw...

Eine Zahl x ist also durch 2 teilbar, sprich gerade, wenn
Delphi-Quellcode:
x mod 2 = 0
ist, sonst ist sie nicht teilbar, also ungerade.

Soweit die allgemeine Version. Es gibt aber auch noch eine Spezialfunktionen die ich dir nicht vorenthalten will:
Delphi-Quellcode:
Odd()
.
Delphi-Quellcode:
if Odd(x) then
  // x ist ungerade
else
  // x ist gerade

p80286 5. Apr 2011 16:07

AW: Gerade Zahl oder Ungerade Zahl?
 
Delphi-Quellcode:
if x and 1=0 then {gerade}
Gruß
K-H

uligerhardt 5. Apr 2011 16:11

AW: Gerade Zahl oder Ungerade Zahl?
 
Zitat:

Zitat von NamenLozer (Beitrag 1093155)
Soweit die allgemeine Version. Für Gerade und Ungerade, gibt es aber auch noch zwei Spezialfunktionenm die ich dir nicht vorenthalten will:
Delphi-Quellcode:
Even()
und
Delphi-Quellcode:
Odd()
.
Delphi-Quellcode:
if Even(x) then
  // x ist gerade
else
  // x ist ungerade
Delphi-Quellcode:
Odd()
ist das gleiche, nur umgekehrt.

Mein D2007 kennt nur Odd.

Namenloser 5. Apr 2011 16:13

AW: Gerade Zahl oder Ungerade Zahl?
 
Merkwürdig, ich könnte schwören, dass es die gibt... vielleicht war sie aber aus irgendeiner 3rd-Party-Unit :gruebel:

ChrisE 5. Apr 2011 16:30

AW: Gerade Zahl oder Ungerade Zahl?
 
Zitat:

Zitat von uligerhardt (Beitrag 1093167)
Mein D2007 kennt nur Odd.

Kann ich bestätigen. Meins auch ;-)

p80286 5. Apr 2011 16:35

AW: Gerade Zahl oder Ungerade Zahl?
 
Even() = not(Odd()) ?

Gruß
K-H

Deep-Sea 5. Apr 2011 16:37

AW: Gerade Zahl oder Ungerade Zahl?
 
Zitat:

Zitat von p80286 (Beitrag 1093183)
Even() = not(Odd()) ?

Genau. Oder in Delphi "gesagt":
Delphi-Quellcode:
function Even(X: Integer): Boolean; inline;
begin
  Result := not Odd(X);
end;
:-D

Wolfgang Mix 5. Apr 2011 17:10

AW: Gerade Zahl oder Ungerade Zahl?
 
Ergänzend zu NamenLoser:

Delphi-Quellcode:
If (x mod 2 = 0) then
  //x ist gerade
else // x ist ungerade


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf