 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Wilhelm K. Guest
|
Posted: Thu Sep 18, 2003 2:31 pm Post subject: Komplexe Zahlen |
|
|
Hallo ihr lieben!
Ich bin gerade daran ein kleines Programm zur Koordinaten
geometrie zu schreiben. Ich nutze Dafür Komplexe Zahlen.
Zusätzlich zu dem <iostream> - Header habe ich nun auch noch
<complex> !
Deklariert habe ich: complex<double> p1, p2;
um meine Formel nun berechnen zu lassen, muss ich ja
p1.imag() und p1.real() ändern. Dies mache ich mit cin.
Leider kann ich ein cin >> p1.real() nicht kompilieren.
Woran liegt hier mein Denkfehler und wie kann ich mein Problem
lösen ?
Ich bitte um Verständnis für mein Anfänger Image und
bedanke mich schonmal im Vorraus für eure hoffentlich
hilfrechen Antworten.
danke
Wilhelm
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
André Pönitz Guest
|
Posted: Thu Sep 18, 2003 4:20 pm Post subject: Re: Komplexe Zahlen |
|
|
Wilhelm K. <DerBadejunge (AT) web (DOT) de> wrote:
| Quote: | um meine Formel nun berechnen zu lassen, muss ich ja
p1.imag() und p1.real() ändern. Dies mache ich mit cin.
Leider kann ich ein cin >> p1.real() nicht kompilieren.
Woran liegt hier mein Denkfehler und wie kann ich mein Problem
lösen ?
|
imag() und real() sind nur zum lease.
Du brauchst was in der Art
double re, im;
cin >> re >> im;
complex<double> c(re, im);
Andre'
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Bernhard Walle Guest
|
Posted: Thu Sep 18, 2003 6:11 pm Post subject: Re: Komplexe Zahlen |
|
|
On Thu, 18 Sep 2003 at 16:31 (CEST), Wilhelm K. wrote:
| Quote: | Hallo ihr lieben!
Ich bin gerade daran ein kleines Programm zur Koordinaten
geometrie zu schreiben. Ich nutze Dafür Komplexe Zahlen.
Zusätzlich zu dem <iostream> - Header habe ich nun auch noch
complex> !
Deklariert habe ich: complex<double> p1, p2;
um meine Formel nun berechnen zu lassen, muss ich ja
p1.imag() und p1.real() ändern. Dies mache ich mit cin.
Leider kann ich ein cin >> p1.real() nicht kompilieren.
|
cin >> p1 müsste aber gehen. Du kannst dann die Zahlen in der Form
(3.0, 7.3) für 3.0 + 7.3i eingeben. Oder einfach nur 3.0 für eine reelle
Zahl.
Gruß,
Bernhard
--
_________ http://www.bwalle.de _________________________________________________
"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean."
-- Isaac Newton
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Werner Salomon Guest
|
Posted: Fri Sep 19, 2003 8:55 pm Post subject: Re: Komplexe Zahlen |
|
|
"Wilhelm K." <DerBadejunge (AT) web (DOT) de> wrote
| Quote: | Hallo ihr lieben!
Ich bin gerade daran ein kleines Programm zur Koordinaten
geometrie zu schreiben. Ich nutze Dafür Komplexe Zahlen.
Zusätzlich zu dem <iostream> - Header habe ich nun auch noch
complex> !
Deklariert habe ich: complex<double> p1, p2;
um meine Formel nun berechnen zu lassen, muss ich ja
p1.imag() und p1.real() ändern. Dies mache ich mit cin.
Leider kann ich ein cin >> p1.real() nicht kompilieren.
Woran liegt hier mein Denkfehler und wie kann ich mein Problem
lösen ?
|
Hallo Wilhelm,
Lt. C++ Standard kannst Du ein complex<>-Objekt direkt vom
std::istream einlesen. Vorgesehen sind drei Formate:
complex<double> p1, p2;
1.> 56.1
cin >> p1;
// p1.real() == 56.1; p1.imag() == 0
2.> (56.1)
cin >> p1; // Wert wie oben
3.> (56.1,2.7)
cin >> p1;
// p1.real() == 56.1; p1.imag() == 2.7
... oder gleich zwei hintereinander:
| Quote: | 56.1 (17,-5.4)
cin >> p1 >> p2; |
// p1.real() == 56.1; p1.imag() == 0
// p2.real() == 17; p2.imag() == -5.4
Gruß
Werner
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Jens Lenge Guest
|
Posted: Tue Sep 23, 2003 8:07 pm Post subject: Re: Komplexe Zahlen |
|
|
Das mit dem Einlesen per "cin" wurde ja schon beschrieben.
Kurze Anmerkung zum Setzen von Real-/Imaginärteilen:
| Quote: | p1.imag() und p1.real() ändern.
|
Und genau das geht nicht. ".real() und ".imag()" sind (leider leider) nur
zum Auslesen definiert und nicht zum Setzen des Real- bzw. Imaginärteils.
Dies geht nur "von hinten durch die Brust ins Auge", also z. B. mit
p1 = complex<double>(real_neu, p1.imag()); // Real setzen ohne Imag zu
beinflussen
p2 = complex<double>(p2.real(), imag_neu); // Imag setzen ohne Real zu
beeinflussen
Allerdings bezweifle ich, ob ein Compiler den entstehenden Overhead
vollständig wieder wegoptimieren kann.
Cheers, Jens
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|