Delphi-PRAXiS
Seite 9 von 22   « Erste     789 101119     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Positive Zahlen in negative umwandeln (https://www.delphipraxis.net/123215-positive-zahlen-negative-umwandeln.html)

Khabarakh 30. Okt 2008 12:52

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von alzaimar
Ich brech mir hier einen ab, poste eine endgeniale rekursive Lösung für das vermutlich NP-Komplette Problem der Zahlennegierung, [...]

Keine Tail Recursion (auf die deutsche Übersetzung verzichte ich mal)? Also bitte.
Delphi-Quellcode:
function MakeNegative(const aNumber: Integer): Integer;
  function Loop(const aNumber: Integer; const aContinuation: TFunc<Integer, Integer>): Integer;
  begin
    if aNumber > 0 then
      Result := Loop(aNumber-1,
        function(X: Integer): Integer
        begin
          Result := aContinuation(Result-1);
        end)
  else
    Result := aContinuation(0);
  end;
  Result := Loop(aNumber,
    function(X: Integer): Integer
    begin
       Result := X;
    end);
end;

Reinhardtinho 30. Okt 2008 13:04

Re: Positive Zahlen in negative umwandeln
 
Ich musste bei dem Thread gleich an den Comic hier denken http://xkcd.com/221/.

Deshalb mein Vorschlag (garantiert negativ!):

Delphi-Quellcode:
  function Negate: Integer;
begin
  Result := -4;
end;
Selten so ein tolles Topic gehabt :cheers:

Die Muhkuh 30. Okt 2008 13:05

Re: Positive Zahlen in negative umwandeln
 
#81: Hä? :gruebel:

:mrgreen:

Teekeks 30. Okt 2008 13:19

Re: Positive Zahlen in negative umwandeln
 
aber wie zu allen themen: die antwort lautet 42! Die zahl muss also 42mal minus 42 genommen werden. den sie dann immernoch >0 ist dan nochmal
also:
Delphi-Quellcode:
function negation(zahl, diezahl:integer):integer;
//macht aus JEDER zahl eine Negative ^^
goto 1; //da ich noch nie GOTO´s angewendet habe vermute ich einfach mal das die hier deklariert werden
i, x:integer;
begin
  diezahl:=42; //damit kann ausgeschlossen werden das unwissende etwas anderes angeben!
1:for i:=0 to diezahl do
    for x:=0 to diezahl do
      zahl:=zahl-diezahl;
  if zahl>=0 then goto 1;
end;
damit dürfte IMMER etwas negatives rauskommen auch wenn man eine noch so hohe zahl nimmt! :lol:

Sven M. 30. Okt 2008 13:39

Re: Positive Zahlen in negative umwandeln
 
Macht's euch doch nicht so schwierig...

Delphi-Quellcode:
if zahl<=0 then
begin
  for i:=1 to zahl do
    begin
      dec(zahl);
    end;
end;

DeddyH 30. Okt 2008 13:42

Re: Positive Zahlen in negative umwandeln
 
Kann das sein, dass dieser Code gar nichts macht? :-D

Sven M. 30. Okt 2008 13:48

Re: Positive Zahlen in negative umwandeln
 
Na doch...wenn es eine negative Zahl ist, dann wird sie quasi mit zwei multipliziert...:P

Aber um mal wieder ein bisschen Ernst in die Sache zu bringen:
Delphi-Quellcode:
if zahl>0 then
begin
  for i:=1 to zahl+1 do
    begin
      dec(zahl);
    end;
end;

Neutral General 30. Okt 2008 13:49

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von Sven M.
Macht's euch doch nicht so schwierig...

Delphi-Quellcode:
if zahl<=0 then
begin
  for i:=1 to zahl do
    begin
      dec(zahl);
    end;
end;

Deine Methode macht eine negative Zahl nur noch negativer. Wenn schon, dann musst du auf > 0 prüfen und dann eine Schleife von 1 bis 2*zahl laufen lassen :P

DeddyH 30. Okt 2008 13:50

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Delphi-Quellcode:
for i:=1 to zahl do

Was passiert hier wohl, wenn zahl negativ ist?

Sven M. 30. Okt 2008 13:51

Re: Positive Zahlen in negative umwandeln
 
....hab's doch oben schon berichtigt...;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr.
Seite 9 von 22   « Erste     789 101119     Letzte »    

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