<?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[Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern]]></title><description><![CDATA[<p>Mein Programm soll eine Eingabedatei als Parameter übergeben bekommen.<br />
Meine Idee ist:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;
int main() 
{	char dateiname[50] = 0;
	char line[1000] = 0;
	char type;
         int n,m; 

cout &lt;&lt; &quot;Bitte Name der Datei, die Graphen enthält eingeben: &quot; \n;
cin &gt;&gt; dateiname;

ifstream file (dateiname, ios::in | ios::nocreate);

if (!file) 
	{cout &lt;&lt; &quot;Es ist nicht möglich, diese Datei zu öfnnen.&quot;;
	return 0;}
</code></pre>
<p>Jetzt enthält diese Eingabedatei 3 Arten von Zeilen<br />
1. 1. Zeichen ist &quot;c&quot;: nur Kommentar, soll überlesen werden<br />
2. 1. Zeichen ist ein &quot;p&quot; (1 Zeile), dahinter stehen 2 Zahlen, die erste soll der Variablen n zugeordnet werden, die zweite der Variablen m aus meinem Programm.<br />
3. 1. Zeichen ist ein &quot;e&quot; (m Zeilen )., dahinter stehen wieder 2 Zahlen zwischen 0 und n-1. Diese sind die eigentlich wichtigen.<br />
Ich will sie so abspeichern, daß ich eine Liste bekomme, oder besser eine Art Array mit n-1 Feldern, in denen die Zahlen 0 bis n-1 stehen. Von jedem Feld geht nun eine Liste ab, wobei das Arrayfeld den Kopf bildet. In dieser Liste stehen sämtliche &quot;Partner&quot; aus den Zeilen e. Also wenns ne Zeile mit &quot;e 3 5&quot; gibt, dann ist in der Liste, die an 3 hängt ne 5 drin und andersrum....</p>
<p>Hier hab ich noch keine richtige Idee...</p>
<pre><code class="language-cpp">if (!file.getline (line , 80)) return 0;	//liest eine Zeile

while (1)
	{ if (!(file &gt;&gt; type)) break;				//liest einen Wert
	switch (type)
	{	case c : break;
		case p :
</code></pre>
<p><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="😕"
    /> <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="😕"
    /> <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>Ich weiß nicht, wie ich auf die einzelnen Zahlen zugreifen könnte....</p>
<p>Vielen vielen Dank, wenn mir jemand helfen kann !!!!</p>
<p>jakky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132449/anfängerin-braucht-hilfe-einlesen-aus-einer-date-und-in-liste-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 14:16:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132449.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jan 2006 22:33:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Tue, 10 Jan 2006 22:33:32 GMT]]></title><description><![CDATA[<p>Mein Programm soll eine Eingabedatei als Parameter übergeben bekommen.<br />
Meine Idee ist:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;
int main() 
{	char dateiname[50] = 0;
	char line[1000] = 0;
	char type;
         int n,m; 

cout &lt;&lt; &quot;Bitte Name der Datei, die Graphen enthält eingeben: &quot; \n;
cin &gt;&gt; dateiname;

ifstream file (dateiname, ios::in | ios::nocreate);

if (!file) 
	{cout &lt;&lt; &quot;Es ist nicht möglich, diese Datei zu öfnnen.&quot;;
	return 0;}
</code></pre>
<p>Jetzt enthält diese Eingabedatei 3 Arten von Zeilen<br />
1. 1. Zeichen ist &quot;c&quot;: nur Kommentar, soll überlesen werden<br />
2. 1. Zeichen ist ein &quot;p&quot; (1 Zeile), dahinter stehen 2 Zahlen, die erste soll der Variablen n zugeordnet werden, die zweite der Variablen m aus meinem Programm.<br />
3. 1. Zeichen ist ein &quot;e&quot; (m Zeilen )., dahinter stehen wieder 2 Zahlen zwischen 0 und n-1. Diese sind die eigentlich wichtigen.<br />
Ich will sie so abspeichern, daß ich eine Liste bekomme, oder besser eine Art Array mit n-1 Feldern, in denen die Zahlen 0 bis n-1 stehen. Von jedem Feld geht nun eine Liste ab, wobei das Arrayfeld den Kopf bildet. In dieser Liste stehen sämtliche &quot;Partner&quot; aus den Zeilen e. Also wenns ne Zeile mit &quot;e 3 5&quot; gibt, dann ist in der Liste, die an 3 hängt ne 5 drin und andersrum....</p>
<p>Hier hab ich noch keine richtige Idee...</p>
<pre><code class="language-cpp">if (!file.getline (line , 80)) return 0;	//liest eine Zeile

while (1)
	{ if (!(file &gt;&gt; type)) break;				//liest einen Wert
	switch (type)
	{	case c : break;
		case p :
</code></pre>
<p><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="😕"
    /> <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="😕"
    /> <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>Ich weiß nicht, wie ich auf die einzelnen Zahlen zugreifen könnte....</p>
<p>Vielen vielen Dank, wenn mir jemand helfen kann !!!!</p>
<p>jakky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963166</guid><dc:creator><![CDATA[jakky]]></dc:creator><pubDate>Tue, 10 Jan 2006 22:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Tue, 10 Jan 2006 22:50:12 GMT]]></title><description><![CDATA[<p>Poste mal eine Beispiel Datei und wie dann deine Variablen aussehen sollen.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963178</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 22:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Tue, 10 Jan 2006 22:58:51 GMT]]></title><description><![CDATA[<p>Eine Datei sieht zum Beispiel so aus:</p>
<p>c Beispiel<br />
c<br />
c blabla<br />
p 4 5<br />
e 0 3<br />
e 1 2<br />
e 1 3<br />
e 2 3<br />
e 0 2</p>
<p>Die Speicherung sollte dann so sein: n = 4, m = 5<br />
Und die Liste:<br />
0 -&gt; 3 -&gt; 2 oder 0 -&gt; 2 -&gt; 3 (Reihenfolge ist egal)<br />
1 -&gt; 2 -&gt; 3 oder 1 -&gt; 3 -&gt; 2<br />
2 -&gt; 0 -&gt; 1 oder ...<br />
3 -&gt; 0 -&gt; 2 -&gt;1 oder...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963186</guid><dc:creator><![CDATA[jakky]]></dc:creator><pubDate>Tue, 10 Jan 2006 22:58:51 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Wed, 11 Jan 2006 01:48:04 GMT]]></title><description><![CDATA[<p>war doch schon ganz ok wie du das hast</p>
<pre><code class="language-cpp">while (file)
    { 

      char type;
      file &gt;&gt; type;                //liest einen Wert

      switch (type)
      { 
        case 'c' : 
        std::string comment;
        file&gt;&gt;comment; // klappt nur mit einwörtigen Kommentaren, wenn welche drin sein sollen die mehr Worte haben mit getline oder eine kommentarabschluss /c oder so arbeiten 
        break;
        case 'p' :
        int z1, z2;
        file&gt;&gt;z1;file&gt;&gt;z2;
        // was mit z1/z2 machen
        break;

        usw
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/963212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963212</guid><dc:creator><![CDATA[dreaddy]]></dc:creator><pubDate>Wed, 11 Jan 2006 01:48:04 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Wed, 11 Jan 2006 10:58:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while (file)
		file &gt;&gt; type;				// liest einen Wert ein

		switch(type)
		{	case 'c':	file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break;
			case 'p':	int n,m; 
						file&gt;&gt;n; 
						file&gt;&gt;m;
						file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break; 

			case 'e':	file &gt;&gt; c1;
						file &gt;&gt; c2;
						kante_einfuegen(c1,c2);
						file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break;
</code></pre>
<p>Kann ich das so lösen, damit er nachdem er die benötigten Zeichen gelesen hat, in die nächste Zeile springt ?</p>
<p>Und dann hab ich noch ne Frage: Bei mir taucht bei</p>
<pre><code class="language-cpp">void visitbfs (int k)
	{
         int j;
	static int i = 0;
	ListNode *t;
	queue_put (k);
	while (! queue_empty())
	       {	j = queue_get();
		a[j].count = ++i;
		cout &lt;&lt; a[j].name &lt;&lt; &quot;  &quot;;
		for ( t = a[t].next; t; t = t  -&gt; next)
		 if (a[t -&gt; index].count == 0)
		  {queue_put( t-&gt; index); a[ (t-&gt; index)].count = -1;}
	        }
}
</code></pre>
<p>immer für die for-Schleife folgender Fehler auf: &quot;error C2107: illegal index, indirection not allowed&quot; bzw. &quot;error C2228: left of '.next' must have class/struct/union type&quot; auf. Was mache ich falsch ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963390</guid><dc:creator><![CDATA[jakky]]></dc:creator><pubDate>Wed, 11 Jan 2006 10:58:53 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerin braucht Hilfe! Einlesen aus einer Date und in Liste speichern on Wed, 11 Jan 2006 11:32:49 GMT]]></title><description><![CDATA[<p>jakky schrieb:</p>
<blockquote>
<pre><code class="language-cpp">while (file)
		file &gt;&gt; type;				// liest einen Wert ein
	
		switch(type)
		{	case 'c':	file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break;
			case 'p':	int n,m; 
						file&gt;&gt;n; 
						file&gt;&gt;m;
						file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break; 

			case 'e':	file &gt;&gt; c1;
						file &gt;&gt; c2;
						kante_einfuegen(c1,c2);
						file.getline (line, 100);  //bis zur naechsten Zeile vorrücken, max. 100 Zeichen
						break;
</code></pre>
<p>Kann ich das so lösen, damit er nachdem er die benötigten Zeichen gelesen hat, in die nächste Zeile springt ?</p>
</blockquote>
<p>Kannst du machen, allerdings würde ich die Deklaration von n und m vor die Schleife setzen (ich gehe davon aus, daß du sie noch brauchst).</p>
<blockquote>
<p>Und dann hab ich noch ne Frage: Bei mir taucht bei</p>
<pre><code class="language-cpp">void visitbfs (int k)
	{
         int j;
	static int i = 0;
	ListNode *t;
	queue_put (k);
	while (! queue_empty())
	       {	j = queue_get();
		a[j].count = ++i;
		cout &lt;&lt; a[j].name &lt;&lt; &quot;  &quot;;
		for ( t = a[t].next; t; t = t  -&gt; next)
		 if (a[t -&gt; index].count == 0)
		  {queue_put( t-&gt; index); a[ (t-&gt; index)].count = -1;}
	        }
}
</code></pre>
<p>immer für die for-Schleife folgender Fehler auf: &quot;error C2107: illegal index, indirection not allowed&quot; bzw. &quot;error C2228: left of '.next' must have class/struct/union type&quot; auf. Was mache ich falsch ?</p>
</blockquote>
<p>Ich vermute einen Tipfehler: &quot;for(t=a[<strong>j</strong>].next;t;t=t-&gt;next)&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963426</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Jan 2006 11:32:49 GMT</pubDate></item></channel></rss>