<?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[dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt;]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich brauche mal eure Hilfe beim Umgang mit einer dynamischen Matrix.</p>
<p>Ich möchte eine Klasse schreiben, die Matrizenrechnungen für mich ausführt. Dazu gehört auch eine vorhandene Matrix zu erweitern. Ich möchte aber nicht einfach etwas anhängen, sondern eine neue Zeile + Spalte irgendwo einfügen können.</p>
<p>Die Matrix soll immer eine &quot;n x n&quot; Matrix sein, daher Zeilenanzahl == Spaltenanzahl.</p>
<pre><code class="language-cpp">vector&lt;vector&lt;int&gt;&gt; Matrix;
vector&lt;vector&lt;int&gt;&gt;::iterator it;
</code></pre>
<p>Das einfache anhängen funktioniert ja ungefähr so:</p>
<pre><code class="language-cpp">for ( int i = 0; i &lt; 5; i++ ) {
     Matrix.push_back ( vector&lt;int&gt;() );

     for ( int j = 0; j &lt; 5; j++ )
          Matrix[Matrix.size()].push_back ( someVar );
}
</code></pre>
<p>Ich möchte jetzt folgende Methode realisieren:</p>
<pre><code class="language-cpp">int calc::insert(int nodeID)
{
    //...füge eine neue Spalte an der Position &quot;nodeID&quot; ein und fülle alle Elemente mit 0.
    //...füge eine neue Zeile an der Position &quot;nodeID&quot; ein und fülle alle Elemente mit 0.
}
</code></pre>
<p>Die Idee dabei ist, dass die Spalten hinter der neuen Spalte nach hinten verschoben werden. Das gleiche gilt für die Zeilen unterhalb von Zeile &quot;nodeID&quot;. Die neue Zeile und neue Spalte soll dann vorerst mit Nullen gefüllt werden, dass sollte aber mit einer for-Schleife kein Problem sein.</p>
<p>Ich hoffe man versteht was ich meine <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> Sonst einfach Bescheid sagen.</p>
<p>Gruß<br />
WAR][FIRE</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/275073/dyn-matrix-mit-vector-lt-vector-lt-int-gt-gt</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 01:50:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/275073.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Oct 2010 14:02:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Fri, 08 Oct 2010 14:02:29 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich brauche mal eure Hilfe beim Umgang mit einer dynamischen Matrix.</p>
<p>Ich möchte eine Klasse schreiben, die Matrizenrechnungen für mich ausführt. Dazu gehört auch eine vorhandene Matrix zu erweitern. Ich möchte aber nicht einfach etwas anhängen, sondern eine neue Zeile + Spalte irgendwo einfügen können.</p>
<p>Die Matrix soll immer eine &quot;n x n&quot; Matrix sein, daher Zeilenanzahl == Spaltenanzahl.</p>
<pre><code class="language-cpp">vector&lt;vector&lt;int&gt;&gt; Matrix;
vector&lt;vector&lt;int&gt;&gt;::iterator it;
</code></pre>
<p>Das einfache anhängen funktioniert ja ungefähr so:</p>
<pre><code class="language-cpp">for ( int i = 0; i &lt; 5; i++ ) {
     Matrix.push_back ( vector&lt;int&gt;() );

     for ( int j = 0; j &lt; 5; j++ )
          Matrix[Matrix.size()].push_back ( someVar );
}
</code></pre>
<p>Ich möchte jetzt folgende Methode realisieren:</p>
<pre><code class="language-cpp">int calc::insert(int nodeID)
{
    //...füge eine neue Spalte an der Position &quot;nodeID&quot; ein und fülle alle Elemente mit 0.
    //...füge eine neue Zeile an der Position &quot;nodeID&quot; ein und fülle alle Elemente mit 0.
}
</code></pre>
<p>Die Idee dabei ist, dass die Spalten hinter der neuen Spalte nach hinten verschoben werden. Das gleiche gilt für die Zeilen unterhalb von Zeile &quot;nodeID&quot;. Die neue Zeile und neue Spalte soll dann vorerst mit Nullen gefüllt werden, dass sollte aber mit einer for-Schleife kein Problem sein.</p>
<p>Ich hoffe man versteht was ich meine <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> Sonst einfach Bescheid sagen.</p>
<p>Gruß<br />
WAR][FIRE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1962926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1962926</guid><dc:creator><![CDATA[WAR**FIRE]]></dc:creator><pubDate>Fri, 08 Oct 2010 14:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Fri, 08 Oct 2010 14:07:32 GMT]]></title><description><![CDATA[<p>WAR][FIRE schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Matrix[Matrix.size()].push_back...
       ^^^^^^^^^^^^^
</code></pre>
</blockquote>
<p>Das ist ein ungültiger Index.</p>
<p>Was ist denn eigentlich das Problem hier? Das konnte Ich Deinem Post nicht entnehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1962931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1962931</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 08 Oct 2010 14:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Fri, 08 Oct 2010 14:10:49 GMT]]></title><description><![CDATA[<p>WAR][FIRE schrieb:</p>
<blockquote>
<p>Ich hoffe man versteht was ich meine <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> Sonst einfach Bescheid sagen.</p>
</blockquote>
<p>Ich verstehe was du meinst, aber nicht, was du wissen willst. Füg doch einfach Elemente ein.</p>
<p>edit: Nur um ganz sicher zu gehen: Vielleicht fehlt dir dies?<br />
<a href="http://www.cplusplus.com/reference/stl/vector/insert/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/insert/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1962932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1962932</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 08 Oct 2010 14:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Fri, 08 Oct 2010 14:16:23 GMT]]></title><description><![CDATA[<p>Ja ...size()-1 dann, aber das sollte auch nur ein Beispiel sein.</p>
<p>Mein Problem ist, dass ich nicht wirklich weiß, wie ich eine dynamische Matrix aus zwei Vectoren so erweitern kann, dass ich z.B. in der Mitte etwas einfüge und dann der rechte Teil der Matrix (also alle Spalten hinter der neuen) sich nach rechts verschieben. Analog sollte das ganze mit den Zeilen gemacht werden.</p>
<p>Beispiel:</p>
<p>In einer 8 x 8 Matrix...</p>
<pre><code>0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
</code></pre>
<p>...soll in der Mitte eine neue Zeile und Spalte eingefügt werden (zur Veranschaulichung(!) mit Einsen):</p>
<pre><code>0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
1 1 1 1 1 1 1 1 1
0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0
</code></pre>
<p>&quot;nodeID&quot; wäre in diesem Fall 5 gewesen. Nur: Wie mache ich dass mit den Vectoren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1962935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1962935</guid><dc:creator><![CDATA[WAR**FIRE]]></dc:creator><pubDate>Fri, 08 Oct 2010 14:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Fri, 08 Oct 2010 14:21:15 GMT]]></title><description><![CDATA[<p>RTFM.</p>
<p>vector&lt;&gt;::insert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1962942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1962942</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 08 Oct 2010 14:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to dyn. Matrix mit vector&amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; on Wed, 13 Oct 2010 15:11:26 GMT]]></title><description><![CDATA[<p>thx, jetzt funktioniert es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1965080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1965080</guid><dc:creator><![CDATA[WAR**FIRE]]></dc:creator><pubDate>Wed, 13 Oct 2010 15:11:26 GMT</pubDate></item></channel></rss>