<?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[Ende eines zweidimensionalen vectors finden]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>habe das Problem, was ich einem Beitrag gestern thematisiert habe geloest und nun habe ich noch ein einziges finales Problem. Ich will, nachdem ein vector (zweidimensional) durchsucht wurde und alle Werte fuer einen Suchparameter (alles double-Werte) in eine Datei geschrieben wurden, dann will ich eine Leerzeile einfuegen in der Datei und anschliessend nach dem naechsten Suchparameter suchen usw. .</p>
<p>Das Problem ist die Leerzeile. Ich habe es wie folgt versucht:</p>
<pre><code class="language-cpp">int z = 1;

  while(z &lt;= NKPOINTS){
    for(i = 0; i &lt; doub_buf_1.size(); i++){
      if(doub_buf_1[i].size() == 0) continue;
      if(doub_buf_1[i][0] == double(z)){
	opf &lt;&lt; doub_buf_1[i][1] &lt;&lt; &quot;  &quot;;
	if(i == doub_buf_1.size() - 1){
	  opf&lt;&lt;endl;
	}
      }
    }
    z++;
  }
</code></pre>
<p>ohne Erfolg. Ich meine auch zu wissen, woran es liegt, naemlich an der if-Schleife:</p>
<pre><code class="language-cpp">if(i == doub_buf_1.size() - 1){
  opf&lt;&lt;endl;
}
</code></pre>
<p>Ich denke das Problem ist, dass die Bedingung nicht erfuellt ist. Ich wollte damit testen, ob der zu untersuchende vector bereits fertig durchsucht wurde.</p>
<p>Meine Frage ist nun:</p>
<p>Wie kann ich testen, ob das Ende des zweidimensionalen vectors <strong>doub_buf_1</strong> erreicht wurde?</p>
<p>Ich hoffe, Ihr koennt mir weiterhelfen und nehmt mir evtl dumme Fragen nich uebel. Ich danke Euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211638/ende-eines-zweidimensionalen-vectors-finden</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 07:21:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211638.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Apr 2008 13:40:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Fri, 25 Apr 2008 13:40:25 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>habe das Problem, was ich einem Beitrag gestern thematisiert habe geloest und nun habe ich noch ein einziges finales Problem. Ich will, nachdem ein vector (zweidimensional) durchsucht wurde und alle Werte fuer einen Suchparameter (alles double-Werte) in eine Datei geschrieben wurden, dann will ich eine Leerzeile einfuegen in der Datei und anschliessend nach dem naechsten Suchparameter suchen usw. .</p>
<p>Das Problem ist die Leerzeile. Ich habe es wie folgt versucht:</p>
<pre><code class="language-cpp">int z = 1;

  while(z &lt;= NKPOINTS){
    for(i = 0; i &lt; doub_buf_1.size(); i++){
      if(doub_buf_1[i].size() == 0) continue;
      if(doub_buf_1[i][0] == double(z)){
	opf &lt;&lt; doub_buf_1[i][1] &lt;&lt; &quot;  &quot;;
	if(i == doub_buf_1.size() - 1){
	  opf&lt;&lt;endl;
	}
      }
    }
    z++;
  }
</code></pre>
<p>ohne Erfolg. Ich meine auch zu wissen, woran es liegt, naemlich an der if-Schleife:</p>
<pre><code class="language-cpp">if(i == doub_buf_1.size() - 1){
  opf&lt;&lt;endl;
}
</code></pre>
<p>Ich denke das Problem ist, dass die Bedingung nicht erfuellt ist. Ich wollte damit testen, ob der zu untersuchende vector bereits fertig durchsucht wurde.</p>
<p>Meine Frage ist nun:</p>
<p>Wie kann ich testen, ob das Ende des zweidimensionalen vectors <strong>doub_buf_1</strong> erreicht wurde?</p>
<p>Ich hoffe, Ihr koennt mir weiterhelfen und nehmt mir evtl dumme Fragen nich uebel. Ich danke Euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498093</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Fri, 25 Apr 2008 13:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Fri, 25 Apr 2008 19:58:30 GMT]]></title><description><![CDATA[<p>Jemanden, der mit einer <a href="http://www.if-schleife.de/" rel="nofollow">if-schleife</a> programmiert, sollte das Problem nicht haben.</p>
<p>Wie auch immer. Hast du es mal mit <a href="http://www.cppreference.com/iterators.html" rel="nofollow">Iteratoren</a> und doub_buf_1.end () versucht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498281</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Apr 2008 19:58:30 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Fri, 25 Apr 2008 21:39:52 GMT]]></title><description><![CDATA[<p>Hi drakon,</p>
<p>also ich habe es mit <strong>doubl_buf_1.end()</strong> versucht, da kommt ein Fehler beim Kompilieren, weil er bei einem zweidimensionalen vector das irgendwie net kennt. Ich habe mich zwar mal an Iteratoren versucht, bin aber kläglich gescheitert.</p>
<p>Bin also ziemlich ratlos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498311</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Fri, 25 Apr 2008 21:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Fri, 25 Apr 2008 22:10:24 GMT]]></title><description><![CDATA[<p>um was ist doubleBuffer bei dir? sowas wie</p>
<pre><code class="language-cpp">vector&lt;vector&lt;Typ&gt;&gt; double_buf
</code></pre>
<p>oder wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498320</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Fri, 25 Apr 2008 22:10:24 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Fri, 25 Apr 2008 22:41:05 GMT]]></title><description><![CDATA[<p>Genau es ist:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;double&gt;&gt; double_buf_1
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1498325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498325</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Fri, 25 Apr 2008 22:41:05 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 01:44:14 GMT]]></title><description><![CDATA[<p>naja das problem bei deinem code ist dass durch das continue wenn ein sub-vektor von doub_buf_l folgendes szenario möglich ist</p>
<p>doub_buf_l size ist 3 (indices: 0,1,2)<br />
wenn der vektor der auf dem index 2 gespeichert ist eine size von 0 hat ist i = 2 -&gt; das erste if liefert true (size == 0) und i wird erhöht, 3 &lt; 3 ergibt false und er macht keine leerzeile</p>
<p>wenn du also nach jedem suchparameter z (oder was auch immer) eine leerzeile haben willst dann tu es einfach in die äußere schleife</p>
<pre><code class="language-cpp">vector&lt;vector&lt;double&gt;&gt; double_buf_1	

for(int z = 1; z &lt;= NKPOINTS; z++)
{
    for(i = 0; i &lt; doub_buf_1.size(); i++)
    {
        if(doub_buf_1[i].size() == 0)
            continue;
        if(doub_buf_1[i][0] == double(z))
        {
            opf &lt;&lt; doub_buf_1[i][1] &lt;&lt; &quot;  &quot;;
        }
    }
    opf &lt;&lt; endl;
}
</code></pre>
<p>falls du, wenn mehrere vektor sets (innere vektoren) keine ergebnisse liefern nicht multiple leerzeilen haben willst setze einfach einen flag</p>
<pre><code class="language-cpp">vector&lt;vector&lt;double&gt;&gt; double_buf_1	

for(int z = 1; z &lt;= NKPOINTS; z++)
{
    bool oneOrMoreValuesMatched = false;
    for(i = 0; i &lt; doub_buf_1.size(); i++)
    {
        if(doub_buf_1[i].size() == 0)
            continue;
        if(doub_buf_1[i][0] == double(z))
        {
            oneOrMoreValuesMatched = true;
            opf &lt;&lt; doub_buf_1[i][1] &lt;&lt; &quot;  &quot;;
        }
    }
    if(oneOrMoreValuesMatched)
        opf &lt;&lt; endl;
}
</code></pre>
<p>und wenn du einen iterator verwenden willst</p>
<pre><code class="language-cpp">vector&lt;vector&lt;double&gt;&gt; double_buf_1	

for(int z = 1; z &lt;= NKPOINTS; z++)
{
    bool oneOrMoreValuesMatched = false;
    for(vector&lt;vector&lt;double&gt;&gt;::iterator i = doub_buf_1.begin(); 
        i != doub_buf_1.end(); ++i)
    {
        if((*i).size() == 0)
            continue;
        if((*i)[0] == double(z))
        {
            oneOrMoreValuesMatched = true;
            opf &lt;&lt; (*i)[1] &lt;&lt; &quot;  &quot;;
        }
    }
    if(oneOrMoreValuesMatched)
        opf &lt;&lt; endl;
}
</code></pre>
<p>ich hab das jetzt nicht kompiliert aber selbst wenn irgend n fehler drin ist sollts dir irgendwie nen denkanstoß geben</p>
<p>und: OMFG nenn die variablen irgendwie nicht-scheiße - z, doub_buf_l und NKPOINTS sind absolut nichtssagend und schlecht gewählte namen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498339</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Sat, 26 Apr 2008 01:44:14 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 09:35:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6611">@Vevusio</a>: Danke für Deine hilfreichen Tipps, aber die Variablen haben für meine Zwecke exakt die passenden Namen. Du magst den Hintergrund nich kennen, vllt auch nicht verstehen, aber die sind angepaßt und für Leute, die wissen, was ich mache, bzw. die das Gleiche machen, vollkommen instruktiv. Deswegen danke ich Dir sehr für Deine Hilfe allerdings, aber bitte schreib anderen dann nix vor, von dem Du keine Ahnung hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498397</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Sat, 26 Apr 2008 09:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 10:24:03 GMT]]></title><description><![CDATA[<blockquote>
<p>aber bitte schreib anderen dann nix vor, von dem Du keine Ahnung hast.</p>
</blockquote>
<p>Also einem, der dir sich so Zeit nimmt dir zu helfen, solltest du ein wenig mehr Respekt zeigen. Es war ein VORSCHLAG und er schreibt dir nichts vor.<br />
Die Variablen sind nichtssagend. Das ist Tatsache. Klar, wenn man es jemanden sagt, was sie bedeuten, ist es klar, aber für andere, die den Code lesen ist das nicht offensichtlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498418</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 26 Apr 2008 10:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 10:40:08 GMT]]></title><description><![CDATA[<p>Hi Drakon,</p>
<p>den Respekt habe ich ihm mit meinem Dank erwiesen und die Bedeutung von z.B. NKPOINTS ist jenseits des Codes zugänglich, es ist die Anzahl der Punkte innerhalb der Brillouin-Zone im reziproken Raum und nominell an den Code, den ich für numerische Kalkulationen nutze, angepaßt. Im übrigen impliziert ein Imperativ einen Befehl: &quot;nenn&quot; ist ein Imperativ also kein Vorschlag sondern ein Befehl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498423</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Sat, 26 Apr 2008 10:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 10:43:11 GMT]]></title><description><![CDATA[<p>Ich habe jetzt eher double_buf_1 gemeint. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also wenn du auf solche Spitzfindigkeiten schaust.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Wenn ich einen Beitrag schreibe, dann schaue ich nicht nochmal alles durch, ob man etwas eventuell falsch verstehen könnte. (Sind ja nur wenige Frauen hier. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> - aber das ist jetzt eine andere Diskussion.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498427</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 26 Apr 2008 10:43:11 GMT</pubDate></item><item><title><![CDATA[Reply to Ende eines zweidimensionalen vectors finden on Sat, 26 Apr 2008 10:47:08 GMT]]></title><description><![CDATA[<p>Sry aber aber ich habs in dem Moment nich als Spitzfindigkeit gesehen. Wenn nur das Wörtchen bitte als Ausdruck der Verzweiflung, weil mein Code so unverständlich ist, dabei gewesen wäre, dann hätte ich mich net so dran aufgehängt. Aber das nächste Mal stelle ich Code rein, der von dem Variablennamen so abgeändert wurde, daß offensichtlich is, was gemeint ist. Ich benenne halt alle meine puffer als _buf . Das is ein Zwischenprodukt und hat mit dem Ergebnis nix zu tun.</p>
<p>Sry, wenn ich etwas rauh war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1498428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1498428</guid><dc:creator><![CDATA[Borninger]]></dc:creator><pubDate>Sat, 26 Apr 2008 10:47:08 GMT</pubDate></item></channel></rss>