<?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[Matrix aus der .txt Datei auslesen und neue Matrix-Model abbilden.]]></title><description><![CDATA[<p>in meiner .txt Datei stehen eine vector Prior=[1 2 3 4 5] und eine Matrix Transmat=[2 3 3;3 6 3;3 3 0]</p>
<p>es sieht ungefähr so aus:</p>
<p>Prior<br />
1 2 3 4 5</p>
<p>Transmat<br />
2 3 3<br />
3 6 3<br />
3 3 0</p>
<p>jetzt möchte ich diese Matrix mit dem Titel &quot;Transmat&quot; in der .txt Datei aussuchen,die nützlichen Datein auslesen und die Matrix neu abbilden.</p>
<p>damit hab ich so angefangen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;strstream&gt;
#include &lt;fstream&gt;

using namespace std;

void main()
{
vector&lt;float&gt; vec;
float temp=0.0f;
char s[256];

ifstream fin(&quot;D:\\Test.txt&quot;);

do
{
	fin.getline(s,256);
}

while(!strstr(s,&quot;Transmat&quot;));//ein Teilstring &quot;Transmat&quot; wird gesucht

while(fin&gt;&gt;temp)// die nützlichen Datein in den Vektor einfügen
vec.push_back(temp);

//for(int i=0;i&lt;(int)vec.size();i++)
//cout&lt;&lt;vec.at(i)&lt;&lt;' ';

}
</code></pre>
<p>jetzt stehen alle Datei der Matrix Transmat in dem Vektor vec:<br />
vec=[2 3 3 3 6 3 3 3 0]</p>
<p>aber wie kann ich eine Matrix abbilden?wenn ich versuche eine Matrix durch vector zu definieren wie folgendes:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;float&gt;&gt; vec;
</code></pre>
<p>dann funktioniert</p>
<pre><code class="language-cpp">.push_back()
</code></pre>
<p>nicht mehr..... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229254/matrix-aus-der-txt-datei-auslesen-und-neue-matrix-model-abbilden</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 03:25:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229254.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Dec 2008 16:06:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrix aus der .txt Datei auslesen und neue Matrix-Model abbilden. on Tue, 09 Dec 2008 16:06:21 GMT]]></title><description><![CDATA[<p>in meiner .txt Datei stehen eine vector Prior=[1 2 3 4 5] und eine Matrix Transmat=[2 3 3;3 6 3;3 3 0]</p>
<p>es sieht ungefähr so aus:</p>
<p>Prior<br />
1 2 3 4 5</p>
<p>Transmat<br />
2 3 3<br />
3 6 3<br />
3 3 0</p>
<p>jetzt möchte ich diese Matrix mit dem Titel &quot;Transmat&quot; in der .txt Datei aussuchen,die nützlichen Datein auslesen und die Matrix neu abbilden.</p>
<p>damit hab ich so angefangen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;strstream&gt;
#include &lt;fstream&gt;

using namespace std;

void main()
{
vector&lt;float&gt; vec;
float temp=0.0f;
char s[256];

ifstream fin(&quot;D:\\Test.txt&quot;);

do
{
	fin.getline(s,256);
}

while(!strstr(s,&quot;Transmat&quot;));//ein Teilstring &quot;Transmat&quot; wird gesucht

while(fin&gt;&gt;temp)// die nützlichen Datein in den Vektor einfügen
vec.push_back(temp);

//for(int i=0;i&lt;(int)vec.size();i++)
//cout&lt;&lt;vec.at(i)&lt;&lt;' ';

}
</code></pre>
<p>jetzt stehen alle Datei der Matrix Transmat in dem Vektor vec:<br />
vec=[2 3 3 3 6 3 3 3 0]</p>
<p>aber wie kann ich eine Matrix abbilden?wenn ich versuche eine Matrix durch vector zu definieren wie folgendes:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;float&gt;&gt; vec;
</code></pre>
<p>dann funktioniert</p>
<pre><code class="language-cpp">.push_back()
</code></pre>
<p>nicht mehr..... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627718</guid><dc:creator><![CDATA[ent.yangyang]]></dc:creator><pubDate>Tue, 09 Dec 2008 16:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix aus der .txt Datei auslesen und neue Matrix-Model abbilden. on Tue, 09 Dec 2008 16:56:23 GMT]]></title><description><![CDATA[<p>Also erstens mal empfehle ich dir, <code>std::string</code> statt <code>char</code> -Arrays und <code>std::string::find()</code> statt <code>strstr()</code> zu verwenden. Den Header <code>&lt;strstream&gt;</code> benötigst du gar nicht.</p>
<p><code>push_back()</code> funktioniert bei zweidimensionalen <code>std::vector</code> s genauso. Ein zweidimensionaler <code>std::vector</code> ist eigentlich ein verschachtelter Container, bei dem die einzelnen Elemente wiederum Container vom Typ <code>vector</code> sind. <code>push_back()</code> fügt da also einen ganzen <code>vector</code> ein.</p>
<p>Zudem ist</p>
<pre><code class="language-cpp">void main()
</code></pre>
<p>nicht C++, es heisst nämlich</p>
<pre><code class="language-cpp">int main()
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1627748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627748</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Dec 2008 16:56:23 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix aus der .txt Datei auslesen und neue Matrix-Model abbilden. on Tue, 09 Dec 2008 17:59:52 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p><code>push_back()</code> funktioniert bei zweidimensionalen <code>std::vector</code> s genauso. Ein zweidimensionaler <code>std::vector</code> ist eigentlich ein verschachtelter Container, bei dem die einzelnen Elemente wiederum Container vom Typ <code>vector</code> sind. <code>push_back()</code> fügt da also einen ganzen <code>vector</code> ein.</p>
</blockquote>
<p>vielen Dank!!!aber ich habe noch nicht ganz verstanden,wie man zeilenweise die Datei aus .txt auslesen und wieder in meinen Vector einfügen...</p>
<p>z.B.eine Matrix in .txt Datei</p>
<p>2 3 3<br />
3 6 3<br />
3 3 0</p>
<p>ich hab mein Prototyp:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;float&gt;&gt; matrix;
vector&lt;float&gt; vector;
float temp;

ifstream fin(&quot;D:\\Test.txt&quot;);
</code></pre>
<p>wenn ich die Datei auslese und in eine Matrix einfüge wie folgendes:</p>
<pre><code class="language-cpp">while(fin&gt;&gt;temp)
{
    vec.push_back(temp);
    matrix.push_back(vec);
}
</code></pre>
<p>dann sehen der Vektor und die Matrix so aus:</p>
<p>vec[0....9]={2,3,3,3,6,3,3,3,0}</p>
<p>matrix[0]={2}<br />
matrix[1]={2,3}<br />
matrix[2]={2,3,3}<br />
.................<br />
matrix[9]={2,3,3,3,6,3,3,3,0}</p>
<p>also,diese</p>
<pre><code class="language-cpp">while(fin&gt;&gt;temp)
</code></pre>
<p>erkennt es nicht,wann die Zeile zu Ende ist..... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627790</guid><dc:creator><![CDATA[ent.yangyang]]></dc:creator><pubDate>Tue, 09 Dec 2008 17:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix aus der .txt Datei auslesen und neue Matrix-Model abbilden. on Tue, 09 Dec 2008 22:09:40 GMT]]></title><description><![CDATA[<p>Du hast einen Denkfehler in deinem Programm. Du bräuchtest eigentlich zwei Schleifen (eine für den äusseren und eine für den inneren Container).</p>
<p>Da der <code>operator&lt;&lt;</code> nicht zwischen den Whitespace-Zeichen (Leerschlag, Zeilenumbruch, Tab) unterscheidet, könntest du dir mal <code>std::getline()</code> anschauen, beispielsweise auf <a href="http://www.cplusplus.com/reference/string/getline.html" rel="nofollow">dieser Seite</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627901</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Dec 2008 22:09:40 GMT</pubDate></item></channel></rss>