<?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[Sudoku Löser]]></title><description><![CDATA[<p>Hallo,<br />
Ich arbeite gerade an einen Sudoku Löser, jedoch funktioniert meine Zahlensuche nicht immer.<br />
Manche Zahlen sucht das Programm richtig, manche jedoch nicht.<br />
Daher meine Frage was ist falsch?<br />
Könnt ihr bitte einen Blick darauf werfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Danke im Voraus!</p>
<p>Hier ist der Quellcode(Einlesen und Werte suchen):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;                                                                             
#include &lt;cstdlib&gt;
#include &lt;windows.h&gt;

using namespace std;

void gotoxy(int x, int y);
void einlesen(int iFeld[9][9]);
void ausgabe(int iFeld[9][9]);
void kordinaten(int iFeld[9][9], int &amp; x, int &amp; y);
void horizontal(int iFeld[9][9], int x, int y, int &amp; hwert);
void vertical(int iFeld[9][9], int x, int y, int hwert, int &amp; vwert);
void bkordinaten(int x, int y, int &amp; xa, int &amp; xe, int &amp; ya, int &amp; ye);
void block(int iFeld[9][9], int x, int y, int &amp; bwert, int hwert, int vwert, int xa, int xe, int ya, int ye);
void erhoehen(int iFeld[9][9], int x, int y, int &amp; hwert, int &amp; vwert, int &amp; bwert, int xa, int xe, int ya, int ye);

int main()
{
cout&lt;&lt; endl &lt;&lt; &quot;Sudoku Loeser&quot; &lt;&lt; endl;                                                         // Überschrift
cout&lt;&lt; endl &lt;&lt; &quot;copyright Christian Klemm &amp; Gerhard Stoeckl 2012&quot; &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;      // Überschrift

int hwert = 1;
int vwert = 1;
int bwert = 1;
int x = 0;
int y = 0;
int xa = 0;
int ya = 0;
int xe = 0;
int ye = 0;
int iFeld[9][9] =   {                                                         // Deklaration des 2 dimensionalen Array
                    5,0,1,0,7,2,0,0,0,
                    6,0,0,1,9,5,2,0,0,
                    2,9,8,0,0,0,0,6,0,
                    8,1,0,0,6,0,0,0,3,
                    4,0,0,8,0,3,0,0,1,
                    7,2,0,0,2,0,0,0,6,
                    0,6,0,0,0,0,2,8,0,
                    0,0,0,4,1,9,0,0,5,
                    0,0,0,0,8,0,0,7,9,
                  };
/*
{
                    6,3,2,7,8,1,9,4,5,
                    0,8,7,5,9,6,2,1,3,
                    5,1,9,2,4,3,8,7,6,
                    8,6,4,3,5,2,7,9,1,
                    7,5,1,9,6,8,3,2,4,
                    2,9,3,1,7,4,6,5,8,
                    9,4,5,6,3,7,1,8,2,
                    1,7,6,8,2,5,4,3,9,
                    3,2,8,4,1,9,5,6,7
                  };

*/

ausgabe(iFeld);
cout&lt;&lt; endl &lt;&lt; endl;

kordinaten(iFeld,x,y);

horizontal(iFeld,x,y,hwert);
vertical(iFeld,x,y,hwert,vwert);
bkordinaten(x,y,xa,xe,ya,xe);

cout&lt;&lt; endl &lt;&lt;&quot;xa=&quot; &lt;&lt;xa;
cout&lt;&lt; endl &lt;&lt;&quot;xe=&quot; &lt;&lt;xe;
cout&lt;&lt; endl &lt;&lt;&quot;ya=&quot; &lt;&lt;xa;
cout&lt;&lt; endl &lt;&lt;&quot;ye=&quot; &lt;&lt;xe;

block(iFeld,x,y,bwert,hwert,vwert,xa,xe,ya,ye);

cout&lt;&lt; endl &lt;&lt;&quot;x=&quot;&lt;&lt; x &lt;&lt; endl &lt;&lt;&quot;y=&quot;&lt;&lt; y &lt;&lt; endl &lt;&lt;&quot;hwert=&quot;&lt;&lt; hwert &lt;&lt; endl &lt;&lt;&quot;vwert=&quot;&lt;&lt; vwert&lt;&lt; endl &lt;&lt;&quot;bwert=&quot;&lt;&lt; bwert&lt;&lt; endl;

erhoehen(iFeld,x,y,hwert,vwert,bwert,xa,xe,ya,ye);

cout&lt;&lt; endl &lt;&lt;&quot;hwert=&quot;&lt;&lt; hwert &lt;&lt; endl &lt;&lt;&quot;vwert=&quot;&lt;&lt; vwert&lt;&lt; endl &lt;&lt;&quot;bwert=&quot;&lt;&lt; bwert;

if(hwert == vwert &amp;&amp; hwert == bwert &amp;&amp; vwert == bwert)
{
cout&lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Alle 3 werte gleich&quot; &lt;&lt; endl &lt;&lt; endl;
}else
{
cout&lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Die 3 Werte sind unterschiedlich&quot; &lt;&lt; endl &lt;&lt; endl;
}

ausgabe(iFeld);

return(0);
}

void gotoxy(int x,int y)                                                                        // Funktion gotoxy
{
   COORD cur={x,y};
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cur);
}

void einlesen(int iFeld[9][9])
{
cout&lt;&lt; &quot;Bitte geben sie das zu loesende Sudoku ein: &quot; &lt;&lt; endl &lt;&lt; endl;                          // Einlesen des Sudokus

for(int z = 0; z &lt; 9; z++)
{
cout&lt;&lt; endl;
    for(int s = 0; s &lt; 9; s++)
    {
    cin&gt;&gt; iFeld[z][s];
    gotoxy(s+1,z+5);
    }
}
}

void ausgabe(int iFeld[9][9])                                                                   // Funktion ausgabe
{
for(int z = 0; z &lt; 9; z++)
{
cout&lt;&lt; endl;
    for(int s = 0; s &lt; 9; s++)
    {
    cout&lt;&lt; &quot; &quot; &lt;&lt; iFeld[z][s];
    }
}
}

void kordinaten(int iFeld[9][9], int &amp; x, int &amp; y)                                              // Ermittelt das erste Leere Feld im Sudoku
{
for(int z = 0; z &lt; 9; z++)
{
    for(int s = 0; s &lt; 9; s++)
    {
        if(iFeld[z][s] == 0)
        {
        y = z;
        x = s;
        break;
        }
    }

    if(y != 0)
    {
    break;
    }
}
}

void horizontal(int iFeld[9][9], int x, int y, int &amp; hwert)                                     // funktion horizontal
{
for(int i = 0; i &lt; 9; i++)
{
    if(iFeld[y][i] == hwert)
    {
    hwert++;
    //horizontal(iFeld,x,y,hwert);
    i = 0;
    }
}
}

void vertical(int iFeld[9][9], int x, int y, int hwert, int &amp; vwert)                            // funktion vertical
{
for(int i = 0; i &lt; 9; i++)
{
    if(iFeld[i][x] == vwert || iFeld[i][0] == hwert)
    {
    vwert++;
    //vertical(iFeld,x,y,hwert,vwert);
    i = 0;
    }
}
}

void bkordinaten(int x, int y, int &amp; xa, int &amp; xe, int &amp; ya, int &amp; ye)
{
if(x &gt;= 0 &amp;&amp; x &lt;= 2)
{
xa = 0;
xe = 3;
cout&lt;&lt; endl &lt;&lt; &quot;1. Block in X&quot;;
}else   if(x &gt; 2 &amp;&amp; x &lt;= 5)
        {
        xa = 3;
        xe = 6;
        cout&lt;&lt; endl &lt;&lt; &quot;2. Block in X&quot;;
        }else   {
                xa = 6;
                xe = 9;
                cout&lt;&lt; endl &lt;&lt; &quot;3. Block in X&quot;;
                }

if(y &gt;= 0 &amp;&amp; y &lt;= 2)
{
ya = 0;
ye = 3;
cout&lt;&lt; endl &lt;&lt; &quot;1. Block in Y&quot;;
}else   if(y &gt; 2 &amp;&amp; y &lt;= 5)
        {
        ya = 3;
        ye = 6;
        cout&lt;&lt; endl &lt;&lt; &quot;2. Block in Y&quot;;
        }else   {
                ya = 6;
                ye = 9;
                cout&lt;&lt; endl &lt;&lt; &quot;3. Block in Y&quot;;
                }
}

void block(int iFeld[9][9], int x, int y, int &amp; bwert, int hwert, int vwert, int xa, int xe, int ya, int ye)
{
for(int s = 0; s &lt; 3; s++)      // sobald xa und xe bzw. ya und ye programm funktioniert nicht mehr!
{
    for(int z = 0; z &lt; 3; z++)
    {
        if(iFeld[z][s] == bwert || iFeld[z][s] == vwert || iFeld[z][s] == hwert)
        {
        bwert++;
        //block(iFeld,x,y,bwert,hwert,vwert,xa,xe,ya,ye);
        s = 0;
        z = 0;
        }
    }
}
}

void erhoehen(int iFeld[9][9], int x, int y, int &amp; hwert, int &amp; vwert, int &amp; bwert, int xa, int xe, int ya, int ye)
{
cout&lt;&lt; &quot;erhöhen&quot;;
int hvbwerte[3];
int gleiche[3] = {0,0,0};
int g = 0;
int sum = 0;

hvbwerte[0] = hwert;                                // Speichert hwert, vwert und bwert in ein feld
hvbwerte[1] = vwert;
hvbwerte[2] = bwert;

do //schleife erhöht so lange bis alle gleich sind
{

for(int j = 0; j &lt; 3; j++)                          // sucht größte Zahl im Feld
{
    if (hvbwerte[j] &gt; g)
    {
    g = hvbwerte[j];
    }
}

cout&lt;&lt; endl &lt;&lt; endl;

for(int u = 0; u &lt; 3; u++)                          // sucht die zu erhöhenden Zahlen
{
    if (hvbwerte[u] &lt; g)
    {
    gleiche[u]++;
    }
}

for(int u = 0; u &lt; 3; u++)                          // summe des feldes
{
sum = sum + gleiche[u];
}

for(int g = 0; g &lt; 3; g++)
{
    if(gleiche[g] == 1)
    {
        if(g == 0)
        {
        cout&lt;&lt; &quot;Horizontal wird erhoeht&quot; &lt;&lt; endl;
        hwert++;
        horizontal(iFeld,x,y,hwert);
        }

        if(g == 1)
        {
        vwert++;
        vertical(iFeld,x,y,hwert,vwert);

        cout&lt;&lt; &quot;Vertical wird erhoeht&quot; &lt;&lt; endl;
        }

        if(g = 2)
        {
        cout&lt;&lt; &quot;Block wird erhoeht&quot; &lt;&lt; endl;
        bwert++;
        bkordinaten(x,y,xa,xe,ya,xe);
        }
    }
}
}while(sum == 0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/301532/sudoku-löser</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 22:44:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301532.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Mar 2012 13:34:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:34:55 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Ich arbeite gerade an einen Sudoku Löser, jedoch funktioniert meine Zahlensuche nicht immer.<br />
Manche Zahlen sucht das Programm richtig, manche jedoch nicht.<br />
Daher meine Frage was ist falsch?<br />
Könnt ihr bitte einen Blick darauf werfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Danke im Voraus!</p>
<p>Hier ist der Quellcode(Einlesen und Werte suchen):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;                                                                             
#include &lt;cstdlib&gt;
#include &lt;windows.h&gt;

using namespace std;

void gotoxy(int x, int y);
void einlesen(int iFeld[9][9]);
void ausgabe(int iFeld[9][9]);
void kordinaten(int iFeld[9][9], int &amp; x, int &amp; y);
void horizontal(int iFeld[9][9], int x, int y, int &amp; hwert);
void vertical(int iFeld[9][9], int x, int y, int hwert, int &amp; vwert);
void bkordinaten(int x, int y, int &amp; xa, int &amp; xe, int &amp; ya, int &amp; ye);
void block(int iFeld[9][9], int x, int y, int &amp; bwert, int hwert, int vwert, int xa, int xe, int ya, int ye);
void erhoehen(int iFeld[9][9], int x, int y, int &amp; hwert, int &amp; vwert, int &amp; bwert, int xa, int xe, int ya, int ye);

int main()
{
cout&lt;&lt; endl &lt;&lt; &quot;Sudoku Loeser&quot; &lt;&lt; endl;                                                         // Überschrift
cout&lt;&lt; endl &lt;&lt; &quot;copyright Christian Klemm &amp; Gerhard Stoeckl 2012&quot; &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;      // Überschrift

int hwert = 1;
int vwert = 1;
int bwert = 1;
int x = 0;
int y = 0;
int xa = 0;
int ya = 0;
int xe = 0;
int ye = 0;
int iFeld[9][9] =   {                                                         // Deklaration des 2 dimensionalen Array
                    5,0,1,0,7,2,0,0,0,
                    6,0,0,1,9,5,2,0,0,
                    2,9,8,0,0,0,0,6,0,
                    8,1,0,0,6,0,0,0,3,
                    4,0,0,8,0,3,0,0,1,
                    7,2,0,0,2,0,0,0,6,
                    0,6,0,0,0,0,2,8,0,
                    0,0,0,4,1,9,0,0,5,
                    0,0,0,0,8,0,0,7,9,
                  };
/*
{
                    6,3,2,7,8,1,9,4,5,
                    0,8,7,5,9,6,2,1,3,
                    5,1,9,2,4,3,8,7,6,
                    8,6,4,3,5,2,7,9,1,
                    7,5,1,9,6,8,3,2,4,
                    2,9,3,1,7,4,6,5,8,
                    9,4,5,6,3,7,1,8,2,
                    1,7,6,8,2,5,4,3,9,
                    3,2,8,4,1,9,5,6,7
                  };

*/

ausgabe(iFeld);
cout&lt;&lt; endl &lt;&lt; endl;

kordinaten(iFeld,x,y);

horizontal(iFeld,x,y,hwert);
vertical(iFeld,x,y,hwert,vwert);
bkordinaten(x,y,xa,xe,ya,xe);

cout&lt;&lt; endl &lt;&lt;&quot;xa=&quot; &lt;&lt;xa;
cout&lt;&lt; endl &lt;&lt;&quot;xe=&quot; &lt;&lt;xe;
cout&lt;&lt; endl &lt;&lt;&quot;ya=&quot; &lt;&lt;xa;
cout&lt;&lt; endl &lt;&lt;&quot;ye=&quot; &lt;&lt;xe;

block(iFeld,x,y,bwert,hwert,vwert,xa,xe,ya,ye);

cout&lt;&lt; endl &lt;&lt;&quot;x=&quot;&lt;&lt; x &lt;&lt; endl &lt;&lt;&quot;y=&quot;&lt;&lt; y &lt;&lt; endl &lt;&lt;&quot;hwert=&quot;&lt;&lt; hwert &lt;&lt; endl &lt;&lt;&quot;vwert=&quot;&lt;&lt; vwert&lt;&lt; endl &lt;&lt;&quot;bwert=&quot;&lt;&lt; bwert&lt;&lt; endl;

erhoehen(iFeld,x,y,hwert,vwert,bwert,xa,xe,ya,ye);

cout&lt;&lt; endl &lt;&lt;&quot;hwert=&quot;&lt;&lt; hwert &lt;&lt; endl &lt;&lt;&quot;vwert=&quot;&lt;&lt; vwert&lt;&lt; endl &lt;&lt;&quot;bwert=&quot;&lt;&lt; bwert;

if(hwert == vwert &amp;&amp; hwert == bwert &amp;&amp; vwert == bwert)
{
cout&lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Alle 3 werte gleich&quot; &lt;&lt; endl &lt;&lt; endl;
}else
{
cout&lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Die 3 Werte sind unterschiedlich&quot; &lt;&lt; endl &lt;&lt; endl;
}

ausgabe(iFeld);

return(0);
}

void gotoxy(int x,int y)                                                                        // Funktion gotoxy
{
   COORD cur={x,y};
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cur);
}

void einlesen(int iFeld[9][9])
{
cout&lt;&lt; &quot;Bitte geben sie das zu loesende Sudoku ein: &quot; &lt;&lt; endl &lt;&lt; endl;                          // Einlesen des Sudokus

for(int z = 0; z &lt; 9; z++)
{
cout&lt;&lt; endl;
    for(int s = 0; s &lt; 9; s++)
    {
    cin&gt;&gt; iFeld[z][s];
    gotoxy(s+1,z+5);
    }
}
}

void ausgabe(int iFeld[9][9])                                                                   // Funktion ausgabe
{
for(int z = 0; z &lt; 9; z++)
{
cout&lt;&lt; endl;
    for(int s = 0; s &lt; 9; s++)
    {
    cout&lt;&lt; &quot; &quot; &lt;&lt; iFeld[z][s];
    }
}
}

void kordinaten(int iFeld[9][9], int &amp; x, int &amp; y)                                              // Ermittelt das erste Leere Feld im Sudoku
{
for(int z = 0; z &lt; 9; z++)
{
    for(int s = 0; s &lt; 9; s++)
    {
        if(iFeld[z][s] == 0)
        {
        y = z;
        x = s;
        break;
        }
    }

    if(y != 0)
    {
    break;
    }
}
}

void horizontal(int iFeld[9][9], int x, int y, int &amp; hwert)                                     // funktion horizontal
{
for(int i = 0; i &lt; 9; i++)
{
    if(iFeld[y][i] == hwert)
    {
    hwert++;
    //horizontal(iFeld,x,y,hwert);
    i = 0;
    }
}
}

void vertical(int iFeld[9][9], int x, int y, int hwert, int &amp; vwert)                            // funktion vertical
{
for(int i = 0; i &lt; 9; i++)
{
    if(iFeld[i][x] == vwert || iFeld[i][0] == hwert)
    {
    vwert++;
    //vertical(iFeld,x,y,hwert,vwert);
    i = 0;
    }
}
}

void bkordinaten(int x, int y, int &amp; xa, int &amp; xe, int &amp; ya, int &amp; ye)
{
if(x &gt;= 0 &amp;&amp; x &lt;= 2)
{
xa = 0;
xe = 3;
cout&lt;&lt; endl &lt;&lt; &quot;1. Block in X&quot;;
}else   if(x &gt; 2 &amp;&amp; x &lt;= 5)
        {
        xa = 3;
        xe = 6;
        cout&lt;&lt; endl &lt;&lt; &quot;2. Block in X&quot;;
        }else   {
                xa = 6;
                xe = 9;
                cout&lt;&lt; endl &lt;&lt; &quot;3. Block in X&quot;;
                }

if(y &gt;= 0 &amp;&amp; y &lt;= 2)
{
ya = 0;
ye = 3;
cout&lt;&lt; endl &lt;&lt; &quot;1. Block in Y&quot;;
}else   if(y &gt; 2 &amp;&amp; y &lt;= 5)
        {
        ya = 3;
        ye = 6;
        cout&lt;&lt; endl &lt;&lt; &quot;2. Block in Y&quot;;
        }else   {
                ya = 6;
                ye = 9;
                cout&lt;&lt; endl &lt;&lt; &quot;3. Block in Y&quot;;
                }
}

void block(int iFeld[9][9], int x, int y, int &amp; bwert, int hwert, int vwert, int xa, int xe, int ya, int ye)
{
for(int s = 0; s &lt; 3; s++)      // sobald xa und xe bzw. ya und ye programm funktioniert nicht mehr!
{
    for(int z = 0; z &lt; 3; z++)
    {
        if(iFeld[z][s] == bwert || iFeld[z][s] == vwert || iFeld[z][s] == hwert)
        {
        bwert++;
        //block(iFeld,x,y,bwert,hwert,vwert,xa,xe,ya,ye);
        s = 0;
        z = 0;
        }
    }
}
}

void erhoehen(int iFeld[9][9], int x, int y, int &amp; hwert, int &amp; vwert, int &amp; bwert, int xa, int xe, int ya, int ye)
{
cout&lt;&lt; &quot;erhöhen&quot;;
int hvbwerte[3];
int gleiche[3] = {0,0,0};
int g = 0;
int sum = 0;

hvbwerte[0] = hwert;                                // Speichert hwert, vwert und bwert in ein feld
hvbwerte[1] = vwert;
hvbwerte[2] = bwert;

do //schleife erhöht so lange bis alle gleich sind
{

for(int j = 0; j &lt; 3; j++)                          // sucht größte Zahl im Feld
{
    if (hvbwerte[j] &gt; g)
    {
    g = hvbwerte[j];
    }
}

cout&lt;&lt; endl &lt;&lt; endl;

for(int u = 0; u &lt; 3; u++)                          // sucht die zu erhöhenden Zahlen
{
    if (hvbwerte[u] &lt; g)
    {
    gleiche[u]++;
    }
}

for(int u = 0; u &lt; 3; u++)                          // summe des feldes
{
sum = sum + gleiche[u];
}

for(int g = 0; g &lt; 3; g++)
{
    if(gleiche[g] == 1)
    {
        if(g == 0)
        {
        cout&lt;&lt; &quot;Horizontal wird erhoeht&quot; &lt;&lt; endl;
        hwert++;
        horizontal(iFeld,x,y,hwert);
        }

        if(g == 1)
        {
        vwert++;
        vertical(iFeld,x,y,hwert,vwert);

        cout&lt;&lt; &quot;Vertical wird erhoeht&quot; &lt;&lt; endl;
        }

        if(g = 2)
        {
        cout&lt;&lt; &quot;Block wird erhoeht&quot; &lt;&lt; endl;
        bwert++;
        bkordinaten(x,y,xa,xe,ya,xe);
        }
    }
}
}while(sum == 0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2196608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196608</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:37:05 GMT]]></title><description><![CDATA[<p>du glaubst doch nicht ernsthaft, dass sich jemand 300 Zeilen (schlecht formatierten) Quellcode durchliest, nur um deine Debugarbeit zu erledigen oder?</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196610</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:37:05 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:46:13 GMT]]></title><description><![CDATA[<p><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="😞"
    /> ich bin noch nicht so erfahren im programmieren.<br />
Naja ich finde meinen Fehler aber nicht.<br />
Könntet ihr bitte kurz einen Blick darauf werfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196618</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:46:13 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:46:16 GMT]]></title><description><![CDATA[<p>Ohne mir das jetzt wirklich durchgelesen zu haben, geb ich dir trotzdem mal ein Stichwort nach dem du suchen kannst: Backtracking.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196619</guid><dc:creator><![CDATA[Cybertec]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:46:16 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:47:47 GMT]]></title><description><![CDATA[<p>Ich weiß Backtracking hab ich mir schon angesehen.<br />
Aber da ich noch nicht so erfahren bin wollte ich es zuerst diesen Lösungsweg versuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196621</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:49:38 GMT]]></title><description><![CDATA[<p>KN4CK3R schrieb:</p>
<blockquote>
<p>du glaubst doch nicht ernsthaft, dass sich jemand 300 Zeilen (schlecht formatierten) Quellcode durchliest, nur um deine Debugarbeit zu erledigen oder?</p>
</blockquote>
<p>Meinem Compiler macht das nichts aus:</p>
<pre><code>test.cc: In function ‘int main()’:
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc:41:19: warning: missing braces around initializer for ‘int [9]’ [-Wmissing-braces]
test.cc: In function ‘void gotoxy(int, int)’:
test.cc:101:4: error: ‘COORD’ was not declared in this scope
test.cc:101:10: error: expected ‘;’ before ‘cur’
test.cc:102:42: error: ‘STD_OUTPUT_HANDLE’ was not declared in this scope
test.cc:102:59: error: ‘GetStdHandle’ was not declared in this scope
test.cc:102:61: error: ‘cur’ was not declared in this scope
test.cc:102:64: error: ‘SetConsoleCursorPosition’ was not declared in this scope
test.cc: At global scope:
test.cc:99:6: warning: unused parameter ‘x’ [-Wunused-parameter]
test.cc:99:6: warning: unused parameter ‘y’ [-Wunused-parameter]
test.cc:157:6: warning: unused parameter ‘x’ [-Wunused-parameter]
test.cc:172:6: warning: unused parameter ‘y’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘x’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘y’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘xa’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘xe’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘ya’ [-Wunused-parameter]
test.cc:223:6: warning: unused parameter ‘ye’ [-Wunused-parameter]
test.cc: In function ‘void erhoehen(int (*)[9], int, int, int&amp;, int&amp;, int&amp;, int, int, int, int)’:
test.cc:301:17: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
test.cc: At global scope:
test.cc:242:6: warning: unused parameter ‘ye’ [-Wunused-parameter]
</code></pre>
<p>Lass dich nicht von den unbekannten Windowsfunktionen stören, ich habe eben kein Windows. Aber die anderen Warnungen sind deuten teilweise auf ganz schön dicke Hauer hin. Ganz besonders Zeile 301. Die unbenutzten Variablen sind auch ein schlechtes Zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196623</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 13:57:50 GMT]]></title><description><![CDATA[<p>Die ungenützten Variablen werden zur Zeit (für Testläufe) nicht verwendet.<br />
Das mit den Windows Funktionen lässt sich beheben.<br />
Was wäre denn ein möglicher Fehler, wenn zum Beispiel die Zahlensuche mit einer 2 Funktioniert. Wenn ich für Testzwecke die Zahl jedoch verändere, zum Beispiel 3 läuft das Programm nicht mehr fertig durch oder bricht ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196630</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 13:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:06:37 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p>Was wäre denn ein möglicher Fehler, wenn zum Beispiel die Zahlensuche mit einer 2 Funktioniert. Wenn ich für Testzwecke die Zahl jedoch verändere, zum Beispiel 3 läuft das Programm nicht mehr fertig durch oder bricht ab.</p>
</blockquote>
<p>Grundlagen!<br />
<code>=</code> Zuweisung<br />
<code>==</code> Vergleich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196636</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:13:12 GMT]]></title><description><![CDATA[<p>Um das Problem etwas einzugrenzen.<br />
Das ist die Funktion zur Überprüfung der Zeile:</p>
<pre><code class="language-cpp">void horizontal(int iFeld[9][9], int x, int y, int &amp; hwert)                                     
{ 
for(int i = 0; i &lt; 9; i++) 
{ 
    if(iFeld[y][i] == hwert) 
    { 
    hwert++; 
    //horizontal(iFeld,x,y,hwert); 
    i = 0; 
    } 
} 
}
</code></pre>
<p>und das die Funktion für die dazugehörige Spalte:</p>
<pre><code class="language-cpp">void vertical(int iFeld[9][9], int x, int y, int hwert, int &amp; vwert)                            
{
for(int i = 0; i &lt; 9; i++)
{
    if(iFeld[i][x] == vwert || iFeld[i][x] == hwert)
    {
    vwert++;
    //vertical(iFeld,x,y,hwert,vwert);
    i = 0;
    }
}
}
</code></pre>
<p>Hier dürfte das Problem nicht liegen aber wie ist es möglich das es mit einer 2 funktioniert und mit einer 3 nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196642</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:13:12 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:22:26 GMT]]></title><description><![CDATA[<p>Vielleicht kommst du auch auf die Idee, einen STL-Container wie std::array zu benutzen? Der wirt eine Exception (brauchst nicht zu wissen was das ist, es gibt aber bei Fehlern was auf die Konsole aus was du (oder zumindest wir) deuten kannst), wenn du z.B. einen Index größer als erlaubt angibst.<br />
Und dann kannst du auch ein typedef benutzen, um die ganze (wiederkehrende Tipparbeit) zu sparen.</p>
<pre><code class="language-cpp">typedef std::array&lt; std::array &lt; size_t /* Nummer für das Feld, 0 heißt Leer */, 9 &gt;, 9 &gt; sudokuArray_t;

sudokuArray_t field;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2196648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196648</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:24:49 GMT]]></title><description><![CDATA[<p>Das mit typedef ist eine gute Idee.<br />
Da ich in c/c++ nur die Grundlagen kenne weiß ich jetzt nicht genau was du mit STL-Container meinst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196650</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:24:49 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:53:06 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p>Das mit typedef ist eine gute Idee.<br />
Da ich in c/c++ nur die Grundlagen kenne weiß ich jetzt nicht genau was du mit STL-Container meinst.</p>
</blockquote>
<p>STL = Standard <strong>Template</strong> Library = Standard - Template (Schablonen) - Bibliothek</p>
<p>Ist schon ein merkwürdiges Wort, nicht? Template? Um es kurz zu machen (tutorials gibt es genug): Du machst dir ein eigenes Array.</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; vec;
</code></pre>
<p>Hier haben wir einen <code>std::vector</code> instanziiert. std::vector ist eine Template-Klasse, die intern ein Array des übergebenen Typs anlegt (in diesem Fall vom Typ int).<br />
Das schöne daran ist, dass es dieses Array für uns verwaltet und einigen Ärger erspart. Es gibt neben std::vector natürlich noch andere Container wie std::list, std::deque, std::queue und noch viele (wichtige) andere...<br />
Verschiedene Funktionen erleichtern uns sofort das Leben:</p>
<pre><code class="language-cpp">vec.size();//Größe des vectors. Hier 0, weil er noch Leer ist (wir haben nichts hineingetan)
vec.push_back(5);//Wir legen eine 5 an die hinterste Position und vergrößern dabei natürlich den Vector um 1 (size() ist jetzt 1).
vec.push_front(1);//size() ist jetzt 2. Einziger Unterschied zu push_back(): 1 wird jetzt (wie der Name suggeriert) ganz nach vorne getan.
vec.pop_back();//Und pop_front, der bruder: Beide entfernen ein Objekt aus dem vector, pop_back() hinten und pop_front - na, rate mal. size() = 1.

vec[0] = 4; //Der wert, der vorher 1 war, ist jetzt 4. Das Element an Position 0 also.
vec.at(0) = 5;//dito, nur prüft diese Funktion, ob der übergebene Index (hier 0) größer als erlaubt ist (bei z.B. 100 würde er eine Exception werfen).

vec.clear();//Löscht alle Elemente im vector. size() = 0.
</code></pre>
<p>Es gibt noch viel mehr Funktionen, und Konstruktoren und noch Algorithmen (für alle Container). Das ist alles furchtbar interessant, schau mal <a href="http://www.google.de/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;sqi=2&amp;ved=0CC8QFjAA&amp;url=http%3A%2F%2Fwww.cplusplus.com%2Freference%2Fstl%2Fvector%2F&amp;ei=w3R0T96ZJMfNsgaG56naDQ&amp;usg=AFQjCNH3x_ghqOQFDFatqpVZEedTrlAZdw&amp;sig2=M_eC2CT7ISiMgxLyL0y6Zg" rel="nofollow">hier</a>.</p>
<p>Das ist BTW ein sehr großes Thema, denn du wirst feststellen dass auch <strong>iteratoren</strong>, <strong>templates</strong> und so weiter eine große Rolle in der STL Spielen. Klar dauert das ein wenig, nur ist die STL so ungefähr das selbstverständlichste für jeden (C++)-Programmierer. Also lohnt es sich definitiv mal vorbeizuschauen (was du sowieso irgendwann tun musst).</p>
<p>Zurück zu deinem Beispiel. Ein std::array ist etwas anderes als std::vector, da es nicht ver-größerbarer oder -kleinerbarer ist. Seine Größe bleibt gleich, deswegen übergeben wir sie als template-parameter übergeben. Der muss nicht umbedingt ein unbekannter Typ sein, es kann auch ein integraler sein (integral = int, short, char, long, und evt. long long):</p>
<pre><code class="language-cpp">std::array&lt;int, 8&gt; ar;
</code></pre>
<p>Hier können wir auf jedes dieser 8 Elemente zugreifen. Das ist für dein Sudoku-Feld nützlich, da seine Größe ja nicht änderbar ist. Oder? Eine Referenz zu std::array findest du im Netz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196660</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:53:06 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:50:57 GMT]]></title><description><![CDATA[<p>ok danke für den ausführlichen Beitrag.<br />
Werde mich mal damit beschäftigen.</p>
<p>Eine Frage hat von euch schon jemand einmal einen Sudokulöser programmiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196664</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:50:57 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:55:35 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p>Eine Frage hat von euch schon jemand einmal einen Sudokulöser programmiert?</p>
</blockquote>
<p>Ja, schon längst. Mit GUI und allem drum und dran.<br />
Das System das ich benutzt hab, ist Bruteforce.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196665</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 14:57:19 GMT]]></title><description><![CDATA[<p>Asoo. Hast du dir meinen Quellcode durchgelesen? Eventuell auf Denkfehler/Programmierfehler gestoßen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196667</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 14:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:02:39 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p>Asoo. Hast du dir meinen Quellcode durchgelesen? Eventuell auf Denkfehler/Programmierfehler gestoßen?</p>
</blockquote>
<p>Ich werde deinen Code nicht lesen. Stattdessen ein professioneller Tipp: refactoring. Mach lieber gleich alles nochmal, und diesmal schön formatieren, gut planen (besonders den Algorithmus) und konzentriert arbeiten. Dann dauerts nur halb solang.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196668</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:02:39 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:03:21 GMT]]></title><description><![CDATA[<p>Ja, ganz klassisch in C. <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/2196669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196669</guid><dc:creator><![CDATA[Cybertec]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:05:18 GMT]]></title><description><![CDATA[<p>Asoo. Ok. Wie würde denn ein Gut formatierter Quellcode ausschauen? <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="😃"
    /><br />
Ich hatte mir gedacht mein Quellcode ist schön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196671</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:05:18 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:06:50 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20394">@Cybertec</a> Kann ich mir deinen Quellcode ansehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196672</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:06:50 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:26:34 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p>Asoo. Ok. Wie würde denn ein Gut formatierter Quellcode ausschauen? <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="😃"
    /><br />
Ich hatte mir gedacht mein Quellcode ist schön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
</blockquote>
<p>Oh nein... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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>Zum formatieren habe ich mal ein kleines Tutorial geschrieben, such mal danach (kann es bei bestem Willen nicht finden). Sonst schau mal wie andere &quot;formattieren&quot;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196675</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to Sudoku Löser on Thu, 29 Mar 2012 15:49:44 GMT]]></title><description><![CDATA[<p>christianklemm schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20394">@Cybertec</a> Kann ich mir deinen Quellcode ansehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
</blockquote>
<p>Gib mal Deine Mailadresse, dann schick ich Dir meinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2196680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2196680</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 29 Mar 2012 15:49:44 GMT</pubDate></item></channel></rss>