<?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[Array, ich dreh bald durch]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich versuche gerade ein kleines Sudoku-Programm zu basteln. Leider bringt mich folgendes Problem wiklich zum Verzweifeln; ich kann echt nicht mehr.</p>
<p>Ich habe ein Array mit 81 Feldern, in denen sich die einzelnen Ziffern des Spielfeldes befinden. Der Inhalt des Arrays kommt aus meiner grafischen Oberfläche. Ich verwende Auswahlfelder und frage den gewählten Index ab; ein leeres Feld hat daher die 0 als Wert.<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox75370" checked="true" /><label for="checkbox75370">= this-&gt;Spielfeld[i,j]-&gt;SelectedIndex;</label></div></p>
<p>Die Methode zum Zählen der leeren Felder funktioniert immer:</p>
<pre><code class="language-cpp">int leereFelder(int iSpielfeldExt[]) {
	int anzahlLeereFelder = 0;
	for (int i = 0; i &lt; 81; i++) {
				if (iSpielfeldExt[i] == 0) anzahlLeereFelder++;
	}

	return anzahlLeereFelder;
}
</code></pre>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox75371" checked="true" /><label for="checkbox75371">= -1</label></div><br />
Allerdings auch nicht immer, manchmal funktioniert es. Ich kann nicht mehr, bitte helft mir.</p>
<pre><code class="language-cpp">int loese(int iSpielfeldExt[]) {	

	//initialisiere alle Ziffern als moeglich
	bool moeglicheZiffern[81][9];
	for (int i = 0; i &lt; 81; i++)
			for (int j = 0; j &lt; 9; j++)	
							moeglicheZiffern[i][j] = true;

	//Überprüfe für jedes Element
	for (int i = 0; i &lt; 81; i++) {

		//Wenn Element in Feld i leer, dann kombiniere
		if (iSpielfeldExt[i] == 0) {

			//Überprüfe alle Elemente, die sich in der gleichen Spalte wie i befinden
			//Wenn Element vorhanden, dann ist diese Ziffer nicht mehr als Lösung für i möglich
			int x = i/9;
			x *=9;
			for (x; x&lt;9; x++) {
				if ((iSpielfeldExt[x] != 0) &amp;&amp; (x != i)) {
						moeglicheZiffern[i][iSpielfeldExt[x]-1] = false;
				}
			}

...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/158238/array-ich-dreh-bald-durch</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 16:07:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158238.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Sep 2006 10:24:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array, ich dreh bald durch on Sun, 03 Sep 2006 10:24:52 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich versuche gerade ein kleines Sudoku-Programm zu basteln. Leider bringt mich folgendes Problem wiklich zum Verzweifeln; ich kann echt nicht mehr.</p>
<p>Ich habe ein Array mit 81 Feldern, in denen sich die einzelnen Ziffern des Spielfeldes befinden. Der Inhalt des Arrays kommt aus meiner grafischen Oberfläche. Ich verwende Auswahlfelder und frage den gewählten Index ab; ein leeres Feld hat daher die 0 als Wert.<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox75370" checked="true" /><label for="checkbox75370">= this-&gt;Spielfeld[i,j]-&gt;SelectedIndex;</label></div></p>
<p>Die Methode zum Zählen der leeren Felder funktioniert immer:</p>
<pre><code class="language-cpp">int leereFelder(int iSpielfeldExt[]) {
	int anzahlLeereFelder = 0;
	for (int i = 0; i &lt; 81; i++) {
				if (iSpielfeldExt[i] == 0) anzahlLeereFelder++;
	}

	return anzahlLeereFelder;
}
</code></pre>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox75371" checked="true" /><label for="checkbox75371">= -1</label></div><br />
Allerdings auch nicht immer, manchmal funktioniert es. Ich kann nicht mehr, bitte helft mir.</p>
<pre><code class="language-cpp">int loese(int iSpielfeldExt[]) {	

	//initialisiere alle Ziffern als moeglich
	bool moeglicheZiffern[81][9];
	for (int i = 0; i &lt; 81; i++)
			for (int j = 0; j &lt; 9; j++)	
							moeglicheZiffern[i][j] = true;

	//Überprüfe für jedes Element
	for (int i = 0; i &lt; 81; i++) {

		//Wenn Element in Feld i leer, dann kombiniere
		if (iSpielfeldExt[i] == 0) {

			//Überprüfe alle Elemente, die sich in der gleichen Spalte wie i befinden
			//Wenn Element vorhanden, dann ist diese Ziffer nicht mehr als Lösung für i möglich
			int x = i/9;
			x *=9;
			for (x; x&lt;9; x++) {
				if ((iSpielfeldExt[x] != 0) &amp;&amp; (x != i)) {
						moeglicheZiffern[i][iSpielfeldExt[x]-1] = false;
				}
			}

...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1130091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130091</guid><dc:creator><![CDATA[magifrei]]></dc:creator><pubDate>Sun, 03 Sep 2006 10:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to Array, ich dreh bald durch on Sun, 03 Sep 2006 14:17:43 GMT]]></title><description><![CDATA[<p>Nun gut, ich bin dämlich. Aber ich habe jetzt einen ganzen Tag gebraucht, um auf die Lösung zu kommen. <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="😞"
    /><br />
Das Feld beinhaltete -1 genau dann, wenn ich die Ziffer über die Tastatur eingegeben habe, und nicht aus der Auswahlliste ausgewählt habe. Ich dachte, dass durch die Beschränkung der Eingabemöglichkeiten auf die vorgegebenen Auswahlfelder, der selectierte Index automatisch gewählt wird.</p>
<p>Ich muss also den Inhalt der ComboBox auslesen und in int konvertieren; nur wie? Atoi funktioniert nicht und System::IConvertible::ToInt16 ist lt. vc++ nicht möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130112</guid><dc:creator><![CDATA[magifrei]]></dc:creator><pubDate>Sun, 03 Sep 2006 14:17:43 GMT</pubDate></item><item><title><![CDATA[Reply to Array, ich dreh bald durch on Sun, 03 Sep 2006 16:41:00 GMT]]></title><description><![CDATA[<p>Hm, wie waers mit DoDataExchange und DDX_Text</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130280</guid><dc:creator><![CDATA[XCooperation]]></dc:creator><pubDate>Sun, 03 Sep 2006 16:41:00 GMT</pubDate></item><item><title><![CDATA[Reply to Array, ich dreh bald durch on Sun, 03 Sep 2006 20:18:32 GMT]]></title><description><![CDATA[<p>Also eine String in int bekommst Du z.b. mit &quot;atoi&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130399</guid><dc:creator><![CDATA[UserMarcus]]></dc:creator><pubDate>Sun, 03 Sep 2006 20:18:32 GMT</pubDate></item><item><title><![CDATA[Reply to Array, ich dreh bald durch on Mon, 04 Sep 2006 07:50:37 GMT]]></title><description><![CDATA[<p>oder <strong>_wtoi</strong>, falls unicode eingestellt ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130552</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 04 Sep 2006 07:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to Array, ich dreh bald durch on Mon, 04 Sep 2006 11:18:50 GMT]]></title><description><![CDATA[<p>Ah, sorry hab überlesen das &quot;atoi&quot; nicht funktioniert, was heiß eigentlich &quot;funktioniert nicht&quot; genau ? Gibt eine Fehlermeldung ?</p>
<p>gruss<br />
Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1130691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1130691</guid><dc:creator><![CDATA[UserMarcus]]></dc:creator><pubDate>Mon, 04 Sep 2006 11:18:50 GMT</pubDate></item></channel></rss>