C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Komplexe Zahlen

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Wilhelm K.
Guest





PostPosted: Thu Sep 18, 2003 2:31 pm    Post subject: Komplexe Zahlen Reply with 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 ?
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





PostPosted: Thu Sep 18, 2003 4:20 pm    Post subject: Re: Komplexe Zahlen Reply with quote



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





PostPosted: Thu Sep 18, 2003 6:11 pm    Post subject: Re: Komplexe Zahlen Reply with quote



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





PostPosted: Fri Sep 19, 2003 8:55 pm    Post subject: Re: Komplexe Zahlen Reply with quote

"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





PostPosted: Tue Sep 23, 2003 8:07 pm    Post subject: Re: Komplexe Zahlen Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.