<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Auslesen von komplexen Zahlen aus einer Datei]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habde folgendes Problem. Es sollen komplexe Zahlen aus einer Datei ausgelesen werden, dafür habe ich eine Funktion geschrieben, die wie folgt aussieht.</p>
<p>Die komplexen Zahlen haben immer die Form:<br />
-9.35124373769e-017-j1.53956708493e-017</p>
<p>Problem ist, dass die Funktion nicht alle Werte ausliest. Momentan sollte sie eigentlich 74370 Werte auslesen und speichern, speichert jedoch nur 3721.</p>
<p>Ich finde leider meinen Fehler nicht...</p>
<pre><code class="language-cpp">vector&lt;complex&lt;double&gt; &gt; readComplexNumbers(const char* filename,const char* tag, const char* attributeName){
    vector&lt;complex&lt;double&gt; &gt; complexNumbers;
    ifstream f(filename);

        //solange Zeilen ignorieren, bis der Tag gefunden wurde
    while(!isAttributeTag(f,tag,attributeName)){
        f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );
    }
        //die Zeile des Tags ebenso ignorieren
    f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );

        //nun Werte lesen
    double real, imag;
    char plus, j, vorzeichen; 
    int i;
    while (f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
          i++;
        if(plus == '-'){
             imag = imag *(-1);
        }
        complexNumbers.push_back(complex&lt;double&gt;(real,imag)); 	
    }
    cout&lt;&lt;endl&lt;&lt;i&lt;&lt;endl;
    return complexNumbers;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/294135/auslesen-von-komplexen-zahlen-aus-einer-datei</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 21:38:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294135.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Oct 2011 16:17:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:17:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habde folgendes Problem. Es sollen komplexe Zahlen aus einer Datei ausgelesen werden, dafür habe ich eine Funktion geschrieben, die wie folgt aussieht.</p>
<p>Die komplexen Zahlen haben immer die Form:<br />
-9.35124373769e-017-j1.53956708493e-017</p>
<p>Problem ist, dass die Funktion nicht alle Werte ausliest. Momentan sollte sie eigentlich 74370 Werte auslesen und speichern, speichert jedoch nur 3721.</p>
<p>Ich finde leider meinen Fehler nicht...</p>
<pre><code class="language-cpp">vector&lt;complex&lt;double&gt; &gt; readComplexNumbers(const char* filename,const char* tag, const char* attributeName){
    vector&lt;complex&lt;double&gt; &gt; complexNumbers;
    ifstream f(filename);

        //solange Zeilen ignorieren, bis der Tag gefunden wurde
    while(!isAttributeTag(f,tag,attributeName)){
        f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );
    }
        //die Zeile des Tags ebenso ignorieren
    f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );

        //nun Werte lesen
    double real, imag;
    char plus, j, vorzeichen; 
    int i;
    while (f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
          i++;
        if(plus == '-'){
             imag = imag *(-1);
        }
        complexNumbers.push_back(complex&lt;double&gt;(real,imag)); 	
    }
    cout&lt;&lt;endl&lt;&lt;i&lt;&lt;endl;
    return complexNumbers;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132913</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:17:12 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:34:15 GMT]]></title><description><![CDATA[<p>1. Wieso nimmst du C-Strings ?</p>
<p>2.Ist das J beim Anfang der zweiten Beispiel-Komplexen nur ein Schreibfehler oder gewollt so ?</p>
<p>3. Deine Kommentare sind ein wenig schlecht in Sachen Aufschlussreich. Was ist dein Tag ? Das 'j' ?</p>
<p>4.Zeile 19 ist komisch. Dass müsste imag *= -1; heißen.</p>
<p>5. edit: nein, falsch.</p>
<p>6. Dein eigentliches Problem ist (glaube ich) zu lösen, in dem du die Anzahl der Werte die du lesen willst, erstmal im Vector <a href="http://www.cplusplus.com/reference/stl/vector/reserve/" rel="nofollow">reservierst</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132915</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:34:15 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:31:22 GMT]]></title><description><![CDATA[<p>i ist nicht initialisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132917</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:53:00 GMT]]></title><description><![CDATA[<blockquote>
<p>]1. Wieso nimmst du C-Strings ?</p>
</blockquote>
<p>Wie sollte ich es denn anders machen? Sry, bin noch Anfänger...</p>
<blockquote>
<p>2.Ist das J beim Anfang der zweiten Beispiel-Komplexen nur ein Schreibfehler oder gewollt so ?</p>
</blockquote>
<p>Das &quot;j&quot; ist gewollt da und gibt an, dass der imaginäre Anteil folgt.</p>
<blockquote>
<p>3. Deine Kommentare sind ein wenig schlecht in Sachen Aufschlussreich. Was ist dein Tag ? Das 'j' ?</p>
</blockquote>
<p>Mein Tag ist irgendeine Zeile in der Datei in der steht &lt;dep U_ME1.v ...&gt;, ab dieser Zeile sollen alle Werte gelesen werden und in einen vector geschrieben werden bis die Zeile &lt;/dep&gt; kommt.</p>
<blockquote>
<p>4.Zeile 19 ist komisch. Dass müsste imag *= -1; heißen.</p>
</blockquote>
<p>Ist es denn falsch so wie es ist? Dachte ich müsste wegen dem -1 klammern!</p>
<blockquote>
<p>6. Dein eigentliches Problem ist (glaube ich) zu lösen, in dem du die Anzahl der Werte die du lesen willst, erstmal im Vector <a href="http://www.cplusplus.com/reference/stl/vector/reserve/" rel="nofollow">reservierst</a>.</p>
</blockquote>
<p>[/quote]</p>
<p>Schwierig, da die Anzahl der Werte ja eigentlich zu Anfang nicht bekannt ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132934</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:59:48 GMT]]></title><description><![CDATA[<p>Javun schrieb:</p>
<blockquote>
<blockquote>
<p>3. Deine Kommentare sind ein wenig schlecht in Sachen Aufschlussreich. Was ist dein Tag ? Das 'j' ?</p>
</blockquote>
<p>Mein Tag ist irgendeine Zeile in der Datei in der steht &lt;dep U_ME1.v ...&gt;, ab dieser Zeile sollen alle Werte gelesen werden und in einen vector geschrieben werden bis die Zeile &lt;/dep&gt; kommt.</p>
</blockquote>
<p>Komisches Tag. Sicher, dass es so komplex sein muss ?</p>
<p>Javun schrieb:</p>
<blockquote>
<blockquote>
<p>4.Zeile 19 ist komisch. Dass müsste imag *= -1; heißen.</p>
</blockquote>
<p>Ist es denn falsch so wie es ist? Dachte ich müsste wegen dem -1 klammern!</p>
</blockquote>
<p>Gar nix ist &quot;falsch&quot;. Es ist so einfach einfacher.</p>
<p>Javun schrieb:</p>
<blockquote>
<blockquote>
<p>6. Dein eigentliches Problem ist (glaube ich) zu lösen, in dem du die Anzahl der Werte die du lesen willst, erstmal im Vector <a href="http://www.cplusplus.com/reference/stl/vector/reserve/" rel="nofollow">reservierst</a>.</p>
</blockquote>
<p>Schwierig, da die Anzahl der Werte ja eigentlich zu Anfang nicht bekannt ist...</p>
</blockquote>
<p>...und trotzdem möglich, indem du einfach rechtzeitig reservierst, wenn es nötig wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132938</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:59:48 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 16:59:21 GMT]]></title><description><![CDATA[<p>Ich habe jedoch dem Fehler in der Funktion gefunden bzw. ist es kein Fehler in der Funktion sondern mein Fehler.</p>
<p>In der Datei stehen sowohl komplexe Zahlen, als auch normale double Zahlen z.B.</p>
<pre><code>+7.92957402371e-014-j9.72455418304e-011
  +3.10400451986e-008
</code></pre>
<p>Die Funktion muss also so umprogrammiert werden, dass sie mit beiden Werten zurecht kommt und egal welche Zahl kommt sie in eine complex Zahl umwandelt.</p>
<p>Mein Versuch die Funktion so umzuschreiben, scheiterte jedoch vergeblich. Kann mir jmd. vllt. einen Tipp geben?</p>
<pre><code class="language-cpp">vector&lt;complex&lt;double&gt; &gt; readComplexNumbers(const char* filename,const char* tag, const char* attributeName){
    vector&lt;complex&lt;double&gt; &gt; complexNumbers;
    ifstream f(filename);

        //solange Zeilen ignorieren, bis der Tag gefunden wurde
    while(!isAttributeTag(f,tag,attributeName)){
        f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );
    }
        //die Zeile des Tags ebenso ignorieren
    f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );

        //nun Werte lesen
    double real, imag;
    char plus, j, vorzeichen; 
     for(int p=0; p&lt;74370; p++){   
           if(f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
             f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag;
                 if(plus == '-'){
                     imag *= -1;
                 }
             }
             if(f&gt;&gt;real){
                 f&gt;&gt;real;
                 imag=0;
             }
             complexNumbers.push_back(complex&lt;double&gt;(real,imag)); 
     } 
    return complexNumbers; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132939</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 16:59:21 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:06:31 GMT]]></title><description><![CDATA[<p>Übrigens komisch, dass du mit complexes und vectoren herumhantierst und kein std::string kennst.</p>
<p>Edit: Sicher, dass Zeile 16+17 korrekt sind ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132941</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:06:31 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:02:20 GMT]]></title><description><![CDATA[<p>Ich würde dir ja zu boost::spirit raten, aber das wäre dir wohl fürs erste zu viel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132942</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:02:20 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:09:03 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Übrigens komisch, dass du mit complexes und vectoren herumhantierst und kein std::string kennst.</p>
<p>Edit: Sicher, dass Zeile 16+17 korrekt sind ?</p>
</blockquote>
<p>Ich habe es erstmal mit strings versucht und auch einen Thread dazu hier im Forum verfasst. Jedoch wurde mir dann schnell dazu geraten mit complex und vectoren zu arbeiten, da weitaus mehr als 1 Mio. Zeilen, also 1 Mio. Werte zu bearbeiten sind.</p>
<p>Ob Zeile 16+17 falsch sind weiß ich leider nicht, habe probiert Zeile 17 rauszunehmen, jedoch ist das Ergebnis auch falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132949</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:10:43 GMT]]></title><description><![CDATA[<p>Und Z. 22+23 ?</p>
<p>Und kannst du mal erklären, inwiefern das Ergebniss falsch ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132950</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:18:56 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Und Z. 22+23 ?</p>
<p>Und kannst du mal erklären, inwiefern das Ergebniss falsch ist ?</p>
</blockquote>
<p>Ich habe es Mal mit folgendem Quellcode getestet. Das Ergebnis ist falsch, da jeder ausgelesene Wert gleich ist, als würde er die gleiche Zeile 74370 Mal auslesen.</p>
<p>Weiterhin müsste a+b = 74370 sein. a = 1 und b = 1. Also irgendetwas stimmt da nicht...</p>
<pre><code class="language-cpp">//ließt alle Werte nach &lt;tag attributeName ....&gt;
vector&lt;complex&lt;double&gt; &gt; readComplexNumbers(const char* filename,const char* tag, const char* attributeName){
    vector&lt;complex&lt;double&gt; &gt; complexNumbers;
    ifstream f(filename);

        //solange Zeilen ignorieren, bis der Tag gefunden wurde
    while(!isAttributeTag(f,tag,attributeName)){
        f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );
    }
        //die Zeile des Tags ebenso ignorieren
    f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );

        //nun Werte lesen
    double real, imag;
    char plus, j, vorzeichen; 
    int a = 0;
    int b = 0;
     for(int p=0; p&lt;74370; p++){   
           if(f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
                 if(plus == '-'){
                     imag *= -1;
                 }
                 a++;
             }
             if(f&gt;&gt;real){
                 imag=0;
                 b++;
             }
//             cout&lt;&lt;complex&lt;double&gt;(real,imag);
             complexNumbers.push_back(complex&lt;double&gt;(real,imag)); 
     } 
    cout&lt;&lt;endl&lt;&lt;a&lt;&lt;endl&lt;&lt;b&lt;&lt;endl;
    return complexNumbers; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132957</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:18:56 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:30:38 GMT]]></title><description><![CDATA[<p>Hast du mal den Fehlerstatus des Streams überprüft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132960</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:41:26 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Hast du mal den Fehlerstatus des Streams überprüft?</p>
</blockquote>
<p>Ich weiß nicht wie man das macht oder was das sein soll.</p>
<p>Doch denke ich eher das der Fehler in der Ausleseroutine liegt.</p>
<p>z.B. ist der Code defintiv falsch, da das 2. if immer gegeben ist...</p>
<pre><code class="language-cpp">if(f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
                 if(plus == '-'){
                     imag *= -1;
                 }
                 a++;
             }
             if(f&gt;&gt;real){
                 imag=0;
                 b++;
             }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132962</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:43:08 GMT]]></title><description><![CDATA[<p>Der Fehler besteht darin, dass deine Einleseroutine immer abwechselnd Zahlen mit und ohne Imaginärteil einliest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132963</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:51:07 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich weiß nicht wie man das macht oder was das sein soll.</p>
</blockquote>
<p>Du weisst nicht wie das geht ? RTFM ? Kom schon.</p>
<p>Es gibt verschiedene Member-Methoden (von ifstream) für Fehlerprüfung:</p>
<p>good() - true, wenn alles funktioniert hat. (Edit: Du kannst auch DeinIfstream statt DeinIfstream.good() schreiben.)<br />
fail() - Gegenteil, gibt false zurück, wenn alles ordnungsgemäß ablief, bei Schreib- oder Lesefehlern aber true.<br />
bad() - Wenn gravierende Fehler vorliegen, die den Stream komplett funktionsuntüchtig machen.</p>
<p>Hast du schon exceptions gemacht ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132964</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:51:07 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:48:47 GMT]]></title><description><![CDATA[<p>Das mit dem Fehlerstatus war Unfug, tut er ja schon mit if. Er liest einfach falsch ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132966</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:48:47 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:52:02 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Der Fehler besteht darin, dass deine Einleseroutine immer abwechselnd Zahlen mit und ohne Imaginärteil einliest.</p>
</blockquote>
<p>Aber das soll ja Sinn und Zweck dieser Funktion sein. Wenn ich nur komplexe Zahlen hätte, dann würde die Funktion auch tadellos funktionieren.</p>
<p>Die Problemstellung ist ja gerade eine Funktion zu entwerfen, welche sowohl reale als auch komplexe Zahlen in einen complex vector schreibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132968</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:52:48 GMT]]></title><description><![CDATA[<p>Und wenn auf komplexe eine weitere komplexe folgt, krachts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132969</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:58:12 GMT]]></title><description><![CDATA[<p>Probier mal mit einem else vor dem if in zeile 7 (dein letzter Code) aus.<br />
Das dürfte das Problem beheben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132970</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 17:55:07 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Probier mal mit einem else vor dem if in zeile 7 (dein letzter Code) aus.</p>
</blockquote>
<p>Nöp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132971</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 17:55:07 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 18:03:25 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Und wenn auf komplexe eine weitere komplexe folgt, krachts.</p>
</blockquote>
<p>Und wieso? Bzw. wie ist denn dieses Problem zu beheben zu umgehen?</p>
<p>Wenn ich statt if(...), else hinschreibe ist das Ergebnis leider immer noch falsch.</p>
<pre><code class="language-cpp">vector&lt;complex&lt;double&gt; &gt; readComplexNumbers(const char* filename,const char* tag, const char* attributeName){
    vector&lt;complex&lt;double&gt; &gt; complexNumbers(7770);
    ifstream f(filename);

        //solange Zeilen ignorieren, bis der Tag gefunden wurde
    while(!isAttributeTag(f,tag,attributeName)){
        f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );
    }
        //die Zeile des Tags ebenso ignorieren
    f.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' );

        //nun Werte lesen
    double real, imag;
    char plus, j, vorzeichen; 
    int a = 0;
    int b = 0;
     for(int p=0; p&lt;7770; p++){   
           if(f&gt;&gt;real&gt;&gt;plus&gt;&gt;j&gt;&gt;imag){
                 if(plus == '-'){
                     imag *= -1;
                 }
                 a++;
             }
             else{
                 imag=0;
                 b++;
             }
 //            cout&lt;&lt;complex&lt;double&gt;(real,imag);
                complexNumbers[p]=complex&lt;double&gt;(real,imag);
     } 
    cout&lt;&lt;endl&lt;&lt;a&lt;&lt;endl&lt;&lt;b&lt;&lt;endl;
    return complexNumbers; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132976</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 18:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 18:07:10 GMT]]></title><description><![CDATA[<p><strong>NAIN</strong>,</p>
<pre><code class="language-cpp">else if(f&gt;&gt;real){
                 imag=0;
                 b++;
             }
</code></pre>
<p>mit der Bedingung von vorher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132977</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Oct 2011 18:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 18:08:39 GMT]]></title><description><![CDATA[<p>Denk doch mal nach. Was ist das nächste, wenn eine reele Zahl eingelesen wurde? Entweder ein Imaginärteil, oder eine weitere Zahl. (reel oder komplex) Du musst irgendwie erkennen, was gerade gelesen wird.<br />
Hackers Vorschlag ist, wenn mich nicht gerade alles täuscht, falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132978</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 18:08:39 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 18:43:12 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p><strong>NAIN</strong>,</p>
<pre><code class="language-cpp">else if(f&gt;&gt;real){
                 imag=0;
                 b++;
             }
</code></pre>
<p>mit der Bedingung von vorher.</p>
</blockquote>
<p>Funktioniert leider alles nicht. Wie gesagt ich habe bereits alles versucht.</p>
<p>Die Einleseroutine muss grundsätzlich falsch sein und ich weiß nicht warum?!</p>
<blockquote>
<p>Denk doch mal nach. Was ist das nächste, wenn eine reele Zahl eingelesen wurde? Entweder ein Imaginärteil, oder eine weitere Zahl. (reel oder komplex) Du musst irgendwie erkennen, was gerade gelesen wird.<br />
Hackers Vorschlag ist, wenn mich nicht gerade alles täuscht, falsch.</p>
</blockquote>
<p>Wenn eine reele Zahl eingelesen wurde, dann springt er doch in die nächste Zeile und schaut ist diese komplex oder reel usw. usw.</p>
<p>Es ist ja immer eine Zahl pro Zeile vorhanden (also entweder komplex oder reel).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132988</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 18:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 19:11:24 GMT]]></title><description><![CDATA[<p>Nein, er schaut eben nicht, ob. Er liest solange ein, bis es fehlschlägt. Das ist dann der Zeitpunkt, an dem eine zweite komplexe Zahl kommt. Dann machts kabumm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132995</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 18 Oct 2011 19:11:24 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen von komplexen Zahlen aus einer Datei on Tue, 18 Oct 2011 19:58:22 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Nein, er schaut eben nicht, ob. Er liest solange ein, bis es fehlschlägt. Das ist dann der Zeitpunkt, an dem eine zweite komplexe Zahl kommt. Dann machts kabumm.</p>
</blockquote>
<p>Und wie krieg ich es hin, dass es funktioniert?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2133009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2133009</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 18 Oct 2011 19:58:22 GMT</pubDate></item></channel></rss>