<?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&#x2F; 2D-Array aus txt-Datei einlesen]]></title><description><![CDATA[<p>Guuude Leutz!</p>
<p>Ich weiß das diese Frage seeeehr oft in Foren auftritt und einige davon genervt sind. Aber leider habe ich keine passende Antwort für mein Problem finden können. So bitte ich Euch um bissle Geduld und Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>So höret nun mein Problem.<br />
Hab ne Matrix in einer txt-Datei. Diese Matrix möchte ich gerne in einem 2D-Array einlesen. Problem ist jedoch, dass die Dimension bzw. die Anzahl der Zeilen und Spalten unbekannt sind.</p>
<p>Mit ach und krach hab ich es hinbekommen das er mir die Anzahl der Matrix-Elemente einliest. Was mir jedoch sehr wenig nützt <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="😞"
    /> Spalten und Zeilen sind noch immer unbekannt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Vielen vielen Dank für jede kleinstmögliche Anmerkung, Anregung, Hilfe etc.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
using namespace std;

void main(void)
{
	double type;
	int zaehler = 0;

	ifstream InputFile (&quot;double.txt&quot;);

	if (!InputFile)
	{
		cerr &lt;&lt; &quot;Datei existiert nicht\n&quot;;
		exit(-1);
	}

	while (!InputFile.eof ())
	{
		InputFile &gt;&gt; type;

		if(type &gt;= 0 || type &lt;= 9)
		{
			zaehler++;
		}
	}
	cout &lt;&lt; zaehler &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/256850/matrix-2d-array-aus-txt-datei-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 17:22:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256850.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Dec 2009 18:05:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Fri, 18 Dec 2009 18:05:15 GMT]]></title><description><![CDATA[<p>Guuude Leutz!</p>
<p>Ich weiß das diese Frage seeeehr oft in Foren auftritt und einige davon genervt sind. Aber leider habe ich keine passende Antwort für mein Problem finden können. So bitte ich Euch um bissle Geduld und Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>So höret nun mein Problem.<br />
Hab ne Matrix in einer txt-Datei. Diese Matrix möchte ich gerne in einem 2D-Array einlesen. Problem ist jedoch, dass die Dimension bzw. die Anzahl der Zeilen und Spalten unbekannt sind.</p>
<p>Mit ach und krach hab ich es hinbekommen das er mir die Anzahl der Matrix-Elemente einliest. Was mir jedoch sehr wenig nützt <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="😞"
    /> Spalten und Zeilen sind noch immer unbekannt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Vielen vielen Dank für jede kleinstmögliche Anmerkung, Anregung, Hilfe etc.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
using namespace std;

void main(void)
{
	double type;
	int zaehler = 0;

	ifstream InputFile (&quot;double.txt&quot;);

	if (!InputFile)
	{
		cerr &lt;&lt; &quot;Datei existiert nicht\n&quot;;
		exit(-1);
	}

	while (!InputFile.eof ())
	{
		InputFile &gt;&gt; type;

		if(type &gt;= 0 || type &lt;= 9)
		{
			zaehler++;
		}
	}
	cout &lt;&lt; zaehler &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1824612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824612</guid><dc:creator><![CDATA[schicko]]></dc:creator><pubDate>Fri, 18 Dec 2009 18:05:15 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Fri, 18 Dec 2009 19:53:20 GMT]]></title><description><![CDATA[<p>Beschreib mal genauer, wie die Datei aussieht. Außerdem: Muss es ein 2D Array sein oder darf es auch eine andere geeignete Datenstruktur sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824697</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Dec 2009 19:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Sat, 19 Dec 2009 15:04:36 GMT]]></title><description><![CDATA[<p>Hier ein kleiner Auszug aus der txt-Datei:</p>
<pre><code>1            1             9           10            5
            2            5            10           11            6
            3            6            11           12            7
            4            7            12           13            8
            5            8            13           14            4
            6            9            15           16           10
            7            10           16           17           11
            8            11           17           18           12
            9            12           18           19           13
           10            13           19           20           14
           11            15           21           22           16
</code></pre>
<p>Gehen wie davon aus das die Anzahl der Spalten und Zeilen unbekannt ist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1824996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824996</guid><dc:creator><![CDATA[schicko]]></dc:creator><pubDate>Sat, 19 Dec 2009 15:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Sat, 19 Dec 2009 15:07:59 GMT]]></title><description><![CDATA[<p>Sollte ein 2D-Array vom Typ double sein. Da ich mit dieser Matrix weitere mathematische Berechnungen durchführe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825000</guid><dc:creator><![CDATA[schicko]]></dc:creator><pubDate>Sat, 19 Dec 2009 15:07:59 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Sat, 19 Dec 2009 16:17:36 GMT]]></title><description><![CDATA[<p>schicko schrieb:</p>
<blockquote>
<p>Gehen wie davon aus das die Anzahl der Spalten und Zeilen unbekannt ist <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>
</blockquote>
<p>Hola chico,<br />
die Anzahl muss bekannt sein, oder du musst sie festlegen. Sonst kannst du keine Matrix dimensionieren.<br />
Oooder aber du liest den ganzen Kram in ein Array ein, ooder in einen Vector, ooder ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825025</guid><dc:creator><![CDATA[Big Brother]]></dc:creator><pubDate>Sat, 19 Dec 2009 16:17:36 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Sat, 19 Dec 2009 18:33:29 GMT]]></title><description><![CDATA[<p>Ich demonstriere:</p>
<pre><code class="language-cpp">#include&lt;string&gt;
#include&lt;fstream&gt;
#include&lt;vector&gt;
#include&lt;sstream&gt;
#include&lt;iostream&gt;
#include&lt;cstdlib&gt;

using namespace std;

void demonstrate_usage_of_vector_as_2d_array(int * matrix, int lines, int columns)
{
  for (int i=0; i&lt;lines; ++i)
    {
      for (int j=0; j&lt;columns; ++j)
        {
          cout &lt;&lt; matrix[i*columns + j] &lt;&lt; '\t';
        }
      cout &lt;&lt; '\n';
    }
  cout &lt;&lt; endl;
}

int main()
{
  vector&lt;int&gt; matrix;
  int lines,columns=-1;

  {   // Einlesen
    ifstream input(&quot;matrix&quot;);
    string line;
    while(getline(input,line))
      {
        int columncounter=0;
        stringstream lineparser(line);
        int element;
        while(lineparser &gt;&gt; element) 
          {
            matrix.push_back(element);
            ++columncounter;
          }
        if (columns==-1) columns=columncounter;
        if (columns!=columncounter)
          {
            cerr &lt;&lt; &quot;Fehler: Unterschiedliche Spaltenzahl in mindestens zwei Zeilen&quot; &lt;&lt; endl;
            exit(1);
          }
      }
  lines=matrix.size()/columns;
  }  // Einlesen fertig

  demonstrate_usage_of_vector_as_2d_array(&amp;matrix[0], lines, columns);

}
</code></pre>
<p>Geht bestimmt auch eleganter, hatte aber keine Lust, lange nachzudenken. Ich denke, das Programm braucht keine Kommentare zur Erklärung, falls doch, einfach Nachfragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825064</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 19 Dec 2009 18:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix&#x2F; 2D-Array aus txt-Datei einlesen on Mon, 21 Dec 2009 20:56:37 GMT]]></title><description><![CDATA[<p>Vielen vielen SeppJ!</p>
<p>Hätte noch ne kleine Frage bzgl meiner txt-Datei, nämlich wenn mehrere Matrizen in einer Datei stecken mit unterschiedlicher Anzahl von Spalten und Zeilen.</p>
<p>Was wäre eurer Meinung nach der Leitfaden um die Matrizen solch eine Datei einzulesen.</p>
<p>Bsp:</p>
<pre><code>=beg=50700 (Element Connectivities)
           20            25           31           32           26
           21            27            2           33           28
           22            28           33           34           29
           23            29           34           35           30
           24            30           35           36           31
           25            31           36            3           32
=end=

=beg=50800 (Nodal Coordinates)                                        
            1   0.000000E+00   0.100000E+02
            2   0.500000E+02   0.100000E+02
            3   0.500000E+02   0.100000E+03
            4   0.000000E+00   0.100000E+03
            5   0.000000E+00   0.280000E+02
            6   0.000000E+00   0.460000E+02
            7   0.000000E+00   0.640000E+02
            8   0.000000E+00   0.820000E+02

=end=
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1826111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826111</guid><dc:creator><![CDATA[schicko]]></dc:creator><pubDate>Mon, 21 Dec 2009 20:56:37 GMT</pubDate></item></channel></rss>