AGB  ·  Datenschutz  ·  Impressum  







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

c(f^=g^=f^=g;) nach Delphi

Ein Thema von Skiron · begonnen am 2. Mai 2004 · letzter Beitrag vom 2. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#1

c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:05
ich habe folgende Quellcodezeile, welche in C 2 Zahlen ohne Hilfsvariable vertauscht:
Code:
int f = 2, g = 3;
f^=g^=f^=g;
nun möcht ich das in Delphi auch machen. Geht das irgendwie?

^ ist xor


[Edit] Beitrag erweitert [/Edit]
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:09
In Delphi geht das (glaube ich) nicht, also um 'ne Hilfsvariable wirst du wohl nicht rumkommen.

h := f; f := g; g := h;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:26
Geht doch:

Delphi-Quellcode:
  a:=a+b;
  b:=a-b;
  a:=a-b;
oder:

Delphi-Quellcode:
    a := a xor b;
    b := a xor b;
    a := a xor b;
Thomas
  Mit Zitat antworten Zitat
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#4

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:30
cool!
danke!!
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:32
OK, aber mit dieser Variante kann es auch zu Problemen kommen.

(versuch mal 3.000.000.000.000 und 0,000.000.000.003 zu tauschen ^^)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:33
@himitsu: Berechtigter Einwand, aber so ein Vertauschen kommt sicher sehr häufig vor. Für "normale" Zahlen funktioniert Toms Lösung sicher.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#7

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:35
Hallo!

Bist du denn auch sicher, dass solch ein Code wirklich einen Sinn macht (auch der von Toms)?

Die rechtsassoziativen Zuweisungsoperatoren von C können ja durchaus oft sehr praktisch sein, aber bei so einem Ding würd ich himitsus Code allemal vorziehen.
Ist doch eine Mordsaufwand bis du (falls du es mal vergessen haben solltest ) geschweigedenn jemand anderes durchschaut hat was dieser Code macht.

Da würd ich an deiner Stelle lieber auf Leserlichkeit (= Wartbarkeit = Fehlerunanfälligkeit [rechtsassoziativ ] ) setzen. Zumal: Was macht schon eine lokale Hilfsvariable?

Viele Grüße, Sebastian
  Mit Zitat antworten Zitat
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#8

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:39
na ja, es geht in manchen programmen nicht darum, sie so lesbar wie möglich zu machen, sondern manchmal auch so unlesbar wie möglich.
v.a. wenn das prog für die Schule is und man den prof. nicht mag, der das Prog verbessern muss!
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:41
Zitat von Skiron:
na ja, es geht in manchen programmen nicht darum, sie so lesbar wie möglich zu machen, sondern manchmal auch so unlesbar wie möglich.
v.a. wenn das prog für die Schule is und man den prof. nicht mag, der das Prog verbessern muss!
Auch ein Grund so etwas einzusetzen, ich nehme solchen Code normalerweise nur bei "Wetten", ansonsten ist er mir auch zu unübersichtlich
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#10

Re: c(f^=g^=f^=g;) nach Delphi

  Alt 2. Mai 2004, 17:43
@Skiron:
Och wie gemein

Aber pass auf, auch die Leserlichkeit gehört zur Qualität eines Codes und kann deshalb mit in die Wertung einfließen.

Viele Grüße, Sebastian
  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 21:58 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