<?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[Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse]]></title><description><![CDATA[<p>So hallo miteinander,<br />
bin hier neu ich hoffe ihr könnt mir helfen.<br />
in der folgenden Funktion wird aus einer datei eine Tabelle eingelesen.<br />
und in einem zweidimensionalen array vom typ UebertragungsFunktionsElement gespeichert. die klasse UebertragungsFunktionsElement hat drei private Var, char ausgabeZeichen, char bewegungSL, int folgeZustand, ich hab zwei Konstruktoren einen ohne argumenten und einen der alle drei private variablen auf den übergebenen wert setzt.</p>
<p>Vielen Dank schon mal im voraus <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>void UebertragungsFunktion::readTable(char *fname)<br />
{<br />
char zeile[10];</p>
<p>fstream datei;<br />
datei.open(fname, ios::in);</p>
<p>if(!datei.is_open())<br />
{<br />
cout&lt;&lt;&quot;Datei konnte nicht geoeffnet werden&quot;&lt;&lt;endl;<br />
}<br />
else<br />
{<br />
datei.getline(zeile, 5);<br />
anzZust = (int) zeile[0] - 48;<br />
anzEing = (int) zeile[2] - 48;<br />
matrix = new UebertragungsFunktionsElement* [anzZust]; // dyn array von zeigern<br />
eingabeZeichen = new char [anzEing];</p>
<p>//matrix<br />
//Zeile<br />
for (int iZeile = 0; iZeile &lt; anzZust; iZeile++)<br />
{<br />
char a = ' ', b = ' ';<br />
int f=0;<br />
datei.getline(zeile, 10); // Zeile einlesen</p>
<p>// an jeden Zeiger ein array anlegen<br />
matrix[anzZust] = new UebertragungsFunktionsElement[anzEing];</p>
<p>//Spalte<br />
for ( int iSpalte = 0; iSpalte &lt; anzEing; iSpalte++)<br />
{<br />
eingabeZeichen[iSpalte] = zeile[1];<br />
a=zeile[4];<br />
b=zeile[6];<br />
f=zeile[8];<br />
matrix[iZeile][iSpalte].set(a, b, f);<br />
/**/Hier taucht das Problem auf &quot;matrix 0x...{ausgabezeichen=???...} ... Fehler Ausdruck kann nicht ausgewertet werden.<br />
**Wahrscheinlich hat er mit der Initialisierung probleme<br />
}<br />
}</p>
<p>}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210695/turing-maschine-probleme-bei-zweidimensionalem-array-vom-typ-eigene-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 15:40:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210695.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Apr 2008 08:40:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 08:40:58 GMT]]></title><description><![CDATA[<p>So hallo miteinander,<br />
bin hier neu ich hoffe ihr könnt mir helfen.<br />
in der folgenden Funktion wird aus einer datei eine Tabelle eingelesen.<br />
und in einem zweidimensionalen array vom typ UebertragungsFunktionsElement gespeichert. die klasse UebertragungsFunktionsElement hat drei private Var, char ausgabeZeichen, char bewegungSL, int folgeZustand, ich hab zwei Konstruktoren einen ohne argumenten und einen der alle drei private variablen auf den übergebenen wert setzt.</p>
<p>Vielen Dank schon mal im voraus <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>void UebertragungsFunktion::readTable(char *fname)<br />
{<br />
char zeile[10];</p>
<p>fstream datei;<br />
datei.open(fname, ios::in);</p>
<p>if(!datei.is_open())<br />
{<br />
cout&lt;&lt;&quot;Datei konnte nicht geoeffnet werden&quot;&lt;&lt;endl;<br />
}<br />
else<br />
{<br />
datei.getline(zeile, 5);<br />
anzZust = (int) zeile[0] - 48;<br />
anzEing = (int) zeile[2] - 48;<br />
matrix = new UebertragungsFunktionsElement* [anzZust]; // dyn array von zeigern<br />
eingabeZeichen = new char [anzEing];</p>
<p>//matrix<br />
//Zeile<br />
for (int iZeile = 0; iZeile &lt; anzZust; iZeile++)<br />
{<br />
char a = ' ', b = ' ';<br />
int f=0;<br />
datei.getline(zeile, 10); // Zeile einlesen</p>
<p>// an jeden Zeiger ein array anlegen<br />
matrix[anzZust] = new UebertragungsFunktionsElement[anzEing];</p>
<p>//Spalte<br />
for ( int iSpalte = 0; iSpalte &lt; anzEing; iSpalte++)<br />
{<br />
eingabeZeichen[iSpalte] = zeile[1];<br />
a=zeile[4];<br />
b=zeile[6];<br />
f=zeile[8];<br />
matrix[iZeile][iSpalte].set(a, b, f);<br />
/**/Hier taucht das Problem auf &quot;matrix 0x...{ausgabezeichen=???...} ... Fehler Ausdruck kann nicht ausgewertet werden.<br />
**Wahrscheinlich hat er mit der Initialisierung probleme<br />
}<br />
}</p>
<p>}</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491663</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 08:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 09:43:15 GMT]]></title><description><![CDATA[<p>versuch mal die features des Forums zu nutzen:</p>
<pre><code class="language-cpp">void UebertragungsFunktion::readTable(char *fname) //versuch solange du mit c++ Arbeitest std::string zu verwenden
{
	char zeile[10]; //s.o.

	fstream datei;
	datei.open(fname, ios::in);

	if(!datei.is_open())
	{
		cout&lt;&lt;&quot;Datei konnte nicht geoeffnet werden&quot;&lt;&lt;endl;
	}
	else
	{
		datei.getline(zeile, 5);  //wie wäre es, wenn du strukturierst, wie die Datei überhaupt aufgebaut ist
		anzZust = (int) zeile[0] - 48; //man kann integer auch besser in einer Datei auslesen und speichern.
		anzEing = (int) zeile[2] - 48;
		matrix = new UebertragungsFunktionsElement* [anzZust];				// dyn array von zeigern
		eingabeZeichen = new char [anzEing];

		//matrix
		//Zeile
		for (int iZeile = 0; iZeile &lt; anzZust; iZeile++)
		{	
			char a = ' ', b = ' ';
			int f=0;
			datei.getline(zeile, 10);	// Zeile einlesen

	        // an jeden Zeiger ein array anlegen
                  matrix[anzZust] = new UebertragungsFunktionsElement[anzEing];

			//Spalte
			for ( int iSpalte = 0; iSpalte &lt; anzEing; iSpalte++)
			{
				eingabeZeichen[iSpalte] = zeile[1];
				a=zeile[4];
				b=zeile[6];
				f=zeile[8];
				matrix[iZeile][iSpalte].set(a, b, f); //du brauchst um sowas machen zu können ein pointer-pointer, also ein UebertragungsFunktionsElement**
				//Hier taucht das Problem auf &quot;matrix 0x...{ausgabezeichen=???...} ... 
				//Fehler Ausdruck kann nicht ausgewertet werden. 
				//Wahrscheinlich hat er mit der Initialisierung probleme
			}
		}
	}
}
</code></pre>
<p>beispiel zur schöneren Dateibehandlung</p>
<pre><code class="language-cpp">int a,b,c;
string str;
datei &gt;&gt; a &gt;&gt; b &gt;&gt; c &gt;&gt; str;
</code></pre>
<p>wenn die datei so aussieht</p>
<pre><code>10 1254 42 murx
</code></pre>
<p>haben die Variablen folgende werte:<br />
a: 10<br />
b: 1254<br />
c: 42<br />
str: &quot;murx&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491679</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Mon, 14 Apr 2008 09:43:15 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 09:55:00 GMT]]></title><description><![CDATA[<p>so sieht die tabelle aus:</p>
<p>3 3</p>
<p>1 0 0 R 1</p>
<p>1 1 1 R 1</p>
<p>1 # # L 2</p>
<p>2 0 1 L 3</p>
<p>2 1 0 L 2</p>
<p>2 # 1 L 3</p>
<p>3 0 0 L 3</p>
<p>3 1 1 L 3</p>
<p>3 # # L 0<br />
in der ersten zeile steht die anzahl zustände und die anzahl eingabe-zeichen. jede folgende zeile hat den aufbau:<br />
zustand, eingabe zeichen, ausgabe zeichen, bewegung s/l kopf, folgezustand<br />
wobei das einlesen der werte ja nicht das problem darstellt erst wenn ich die werte der matrix übergeben will tauchen die probleme auf.<br />
<strong>//du brauchst um sowas machen zu können ein pointer-pointer, also ein UebertragungsFunktionsElement</strong><br />
UebertragungsFunktionsElement ** matrix; steht in der header datei**</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491686</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 09:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:05:53 GMT]]></title><description><![CDATA[<p>du kannst dir viel arbeit sparen, wenn du mit</p>
<pre><code class="language-cpp">datei &gt;&gt; anzZust  &gt;&gt; anzEing;
</code></pre>
<p>anfängst. zudem verbessert es die kompatiblität mit Zahlen größer 9 ;).<br />
Aber wie schon gesagt, dein array ist eindimensional, du musst es schon zweidimensional anlegen.</p>
<p>Beispiel</p>
<pre><code class="language-cpp">class A{}

a** 2darray = new A*[size];
for (int i = 0; i &lt; size; i++)
  2darray[i] = new A[len];

...

cout &lt;&lt; 2darray[1][2];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1491692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491692</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:05:53 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:02:49 GMT]]></title><description><![CDATA[<p>Krux schrieb:</p>
<blockquote>
<p>du kannst dir viel arbeit sparen, wenn du mit</p>
<pre><code class="language-cpp">datei &gt;&gt; anzZust  &gt;&gt; anzEing;
</code></pre>
<p>anfängst. zudem verbessert es die kompatiblität mit Zahlen größer 9 ;).<br />
Aber wie schon gesagt, dein array ist eindimensional, du musst es schon zweidimensional anlegen.</p>
</blockquote>
<p>ich habe es doch zweidimensional angelegt<br />
<strong>in der headerdatei steht UebertragungsFunktionsElement ** matrix</strong>;</p>
<p>übrigens ich bin hier neu und hab nicht ganz verstanden was du mit features des forums gemeint hast. wäre nett wenn du mir das kurz erläuterst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491695</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:02:49 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:09:59 GMT]]></title><description><![CDATA[<p>sry, was auch hilft, ist wenn man die daten nicht direkt in das array packt, sondern nur deren adressen, also ein dreifacher pointer. dann kann man mit new sicher gehen mit der initialisierung. Mit feature des Forums mein ich</p>
<pre><code class="language-cpp">vor und
</code></pre>
<p>nach dem Quelltext zu posten, dann siehts übersichtlicher aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491700</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:08:34 GMT]]></title><description><![CDATA[<p>Krux schrieb:</p>
<blockquote>
<p>sry</p>
</blockquote>
<p>kein thema. danke dass du deine zeit opferst und einem armen verzweifelten menschen hilfst <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1491701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491701</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:14:50 GMT]]></title><description><![CDATA[<p>Krux schrieb:</p>
<blockquote>
<p>sry, was auch hilft, ist wenn man die daten nicht direkt in das array packt, sondern nur deren adressen, also ein dreifacher pointer. dann kann man mit new sicher gehen mit der initialisierung. Mit feature des Forums mein ich</p>
<pre><code class="language-cpp">vor und
</code></pre>
<p>nach dem Quelltext zu posten, dann siehts übersichtlicher aus.</p>
</blockquote>
<p>ich packe ja auch gar nicht die daten in das array ich hab ein zweidimensionales array. durch die zwei schleifen(aussen schleife für zustände, innen schleife für anzahl an eingabe-zeichen) wird eine zweidimensional &quot;matrix&quot; vom typ UebertragungsFunktionsElement erstellt jedes dieser einzelnen array felder gehört zu dieser klasse und diese klasse bietet methoden auf die ich zugreifen will die daten werden dabei nicht direkt in das array geschrieben sonder sie werden den private variablen zugeordnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491704</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:14:50 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:34:03 GMT]]></title><description><![CDATA[<p>gib mal die Klasse UebertragungsFunktionsElement vieleicht ist da ja der Fehler. Übrigens ein guter weg an ein Problem bzw Fehler heran zu gehen, ist diesen zu isolieren, das heißt das Projekt kopieren, und die Kopie soweit abspecken, dass nach möglichkeit nurnoch der Fehler übrigbleibt. Und wenn du es bis dahin selbst nicht gefunden hast, was das Problem ist, ist das der ideale Quellcode, den du in ein Forum zur hilfe posten kannst. Dann geht die hilfe auch schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491712</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to Turing Maschine probleme bei zweidimensionalem Array vom typ eigene Klasse on Mon, 14 Apr 2008 10:47:43 GMT]]></title><description><![CDATA[<pre><code>#include &quot;StdAfx.h&quot;

#include &quot;UebertragungsFunktionsElement.h&quot;

UebertragungsFunktionsElement::UebertragungsFunktionsElement(void)

{

	this-&gt;ausgabeZeichen = ' ';

	this-&gt;bewegungSL = ' ';

	this-&gt;folgeZustand = 0;

}

UebertragungsFunktionsElement::UebertragungsFunktionsElement(char a, char b, int f)

{

	this-&gt;ausgabeZeichen = a;

	this-&gt;bewegungSL = b;

	this-&gt;folgeZustand = f;

}

UebertragungsFunktionsElement::~UebertragungsFunktionsElement(void)

{

}

void UebertragungsFunktionsElement::set(char a, char b, int f)

{

	this-&gt;ausgabeZeichen = a; [b]// genau hier will er nicht mehr [/b]

	this-&gt;bewegungSL = b;

	this-&gt;folgeZustand = f;

}

char UebertragungsFunktionsElement::getAusgabeZeichen()

{

	return ausgabeZeichen;

}

char UebertragungsFunktionsElement::getBewegungSL()

{

	return bewegungSL;

}

int UebertragungsFunktionsElement::getFolgeZustand()

{

	return folgeZustand;

}

void UebertragungsFunktionsElement::print()

{

	cout &lt;&lt; ausgabeZeichen;

	cout &lt;&lt; bewegungSL;

	cout &lt;&lt; folgeZustand &lt;&lt;&quot;, &quot;;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1491714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491714</guid><dc:creator><![CDATA[elTurko]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:47:43 GMT</pubDate></item></channel></rss>