<?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 einer Tabelle und speicher in einem arrray]]></title><description><![CDATA[<p>Hallo</p>
<p>Folgendes Problem. Ich würde gerne eine Tabelle (.txt, Spalten durch tabs getrennt) einlesen und in einem zweidimensionalen Array speichern. Leider weiss ich zu Beginn nicht, wieviele Zeilen und Spalten in der Tabelle sind. Zudem kann es sein, dass die Anzahl Spalten von Zeile zu Zeile unterschiedlich sind. Ich glaube, mit folgendem Code müsste ich die einzelnen Zeilen in den vector <strong>values</strong> speicher können. Leider weiss ich aber zu dieser Ziet noch nicht, wieviele Zeilen noch kommen werden und ob in weiteren Zeilen die Anzahl Spalten grösser sein wird.</p>
<pre><code>infile.open(&quot;D:\\petersp\\Master-Arbeit DLD\\PF_2D\\properties_C35.txt&quot;, ios::in);
	while(!infile.eof())
	{
		getline(infile, s);
		size_t length = s.length();
		int i=0;
		size_t pos = s.find(&quot;\t&quot;);
		vector&lt;double&gt; value;

		while(pos != s.npos);
		{
			string strpart = s.substr(1, pos-1);
			s = s.substr(pos+1,length);
			value.push_back(strtod(strpart.c_str(), NULL));
			length = s.length();
			i++;
		}

	}

	infile.close();
</code></pre>
<p>Kann ich im Vorfeld die Tabelle auf Anzahl Zeilen und maximal auftretende Spaltenzahl überprüfen?</p>
<p>Ich würde gerne so etwas haben:</p>
<pre><code>double Mat[Anzahl Zeilen][max Anzahl Spalten]

	infile.open(&quot;D:\\petersp\\Master-Arbeit DLD\\PF_2D\\properties_C35.txt&quot;, ios::in);
	while(!infile.eof())
	{
		getline(infile, s);
		size_t length = s.length();
		int i=0;
		size_t pos = s.find(&quot;\t&quot;);
		vector&lt;double&gt; value;

		while(pos != s.npos);
		{
			string strpart = s.substr(1, pos-1);
			s = s.substr(pos+1,length);
			value.push_back(strtod(strpart.c_str(), NULL));
			length = s.length();
			for(int j=0, j&lt;value.length, j++)
			{
				Mat[i][j] = value[j];
			}

			i++;
		}

	}
</code></pre>
<p>Danke für jede Antwort</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229834/auslesen-einer-tabelle-und-speicher-in-einem-arrray</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 16:46:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229834.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Dec 2008 10:35:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auslesen einer Tabelle und speicher in einem arrray on Wed, 17 Dec 2008 10:35:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Folgendes Problem. Ich würde gerne eine Tabelle (.txt, Spalten durch tabs getrennt) einlesen und in einem zweidimensionalen Array speichern. Leider weiss ich zu Beginn nicht, wieviele Zeilen und Spalten in der Tabelle sind. Zudem kann es sein, dass die Anzahl Spalten von Zeile zu Zeile unterschiedlich sind. Ich glaube, mit folgendem Code müsste ich die einzelnen Zeilen in den vector <strong>values</strong> speicher können. Leider weiss ich aber zu dieser Ziet noch nicht, wieviele Zeilen noch kommen werden und ob in weiteren Zeilen die Anzahl Spalten grösser sein wird.</p>
<pre><code>infile.open(&quot;D:\\petersp\\Master-Arbeit DLD\\PF_2D\\properties_C35.txt&quot;, ios::in);
	while(!infile.eof())
	{
		getline(infile, s);
		size_t length = s.length();
		int i=0;
		size_t pos = s.find(&quot;\t&quot;);
		vector&lt;double&gt; value;

		while(pos != s.npos);
		{
			string strpart = s.substr(1, pos-1);
			s = s.substr(pos+1,length);
			value.push_back(strtod(strpart.c_str(), NULL));
			length = s.length();
			i++;
		}

	}

	infile.close();
</code></pre>
<p>Kann ich im Vorfeld die Tabelle auf Anzahl Zeilen und maximal auftretende Spaltenzahl überprüfen?</p>
<p>Ich würde gerne so etwas haben:</p>
<pre><code>double Mat[Anzahl Zeilen][max Anzahl Spalten]

	infile.open(&quot;D:\\petersp\\Master-Arbeit DLD\\PF_2D\\properties_C35.txt&quot;, ios::in);
	while(!infile.eof())
	{
		getline(infile, s);
		size_t length = s.length();
		int i=0;
		size_t pos = s.find(&quot;\t&quot;);
		vector&lt;double&gt; value;

		while(pos != s.npos);
		{
			string strpart = s.substr(1, pos-1);
			s = s.substr(pos+1,length);
			value.push_back(strtod(strpart.c_str(), NULL));
			length = s.length();
			for(int j=0, j&lt;value.length, j++)
			{
				Mat[i][j] = value[j];
			}

			i++;
		}

	}
</code></pre>
<p>Danke für jede Antwort</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1631722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1631722</guid><dc:creator><![CDATA[pitaz]]></dc:creator><pubDate>Wed, 17 Dec 2008 10:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to Auslesen einer Tabelle und speicher in einem arrray on Wed, 17 Dec 2008 11:04:42 GMT]]></title><description><![CDATA[<p>pitaz schrieb:</p>
<blockquote>
<p>Kann ich im Vorfeld die Tabelle auf Anzahl Zeilen und maximal auftretende Spaltenzahl überprüfen?</p>
</blockquote>
<p>Ohne die Datei gelesen zu haben? Das dürfte schwer werden, da dein Programm dann hellsehen müsste <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="🙂"
    /></p>
<p>Verpacke doch einfach zwei Container ineinander. Beispiele:<br />
`std::vector&lt;std::vector&lt;double&gt; &gt; Matrix1;</p>
<p>std::deque&lt;std::deque&lt;double&gt; &gt; Matrix2;</p>
<p>std::list&lt;std::list&lt;double&gt; &gt; Matrix3;`<br />
Welche Kombination dir lieber ist, muss du selber entscheiden.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1631740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1631740</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 17 Dec 2008 11:04:42 GMT</pubDate></item></channel></rss>