<?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[C++ Array mischen]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein Array:<br />
[code=&quot;cpp&quot;] unsigned int deck[5][14] = {<br />
0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,<br />
0, <strong>1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,</strong><br />
1, <strong>14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,</strong><br />
2, <strong>27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,</strong><br />
3, <strong>40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52</strong><br />
};[/code]</p>
<p>In dem ich den fetten Teil durchmischen möchte und zwar Zeile für Zeile und Spalte für Spalte.<br />
Im Moment sieht meine Funktion shuffle so aus:</p>
<pre><code>void shuffle(unsigned int deck[][14]){

	size_t randomRow; 
	size_t randomColumn;
	int saveElement = 0;
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[1][row];
		deck[1][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[2][row];
		deck[2][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[3][row];
		deck[3][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[4][row];
		deck[4][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
}
</code></pre>
<p>Allerdings hab ich wohl einen Fehler drinne. So sieht meine Ausgabe aus wenn ich das Array ausgeben lasse:<br />
<a href="http://i.imgur.com/zOlb8hH.png" rel="nofollow">http://i.imgur.com/zOlb8hH.png</a></p>
<p>Alle Ideen sind willkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325975/c-array-mischen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 23:00:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325975.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 May 2014 14:55:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Array mischen on Mon, 26 May 2014 14:55:34 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein Array:<br />
[code=&quot;cpp&quot;] unsigned int deck[5][14] = {<br />
0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,<br />
0, <strong>1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,</strong><br />
1, <strong>14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,</strong><br />
2, <strong>27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,</strong><br />
3, <strong>40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52</strong><br />
};[/code]</p>
<p>In dem ich den fetten Teil durchmischen möchte und zwar Zeile für Zeile und Spalte für Spalte.<br />
Im Moment sieht meine Funktion shuffle so aus:</p>
<pre><code>void shuffle(unsigned int deck[][14]){

	size_t randomRow; 
	size_t randomColumn;
	int saveElement = 0;
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[1][row];
		deck[1][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[2][row];
		deck[2][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[3][row];
		deck[3][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
	for (size_t row = 1; row &lt; 14; row++){

		randomRow = rand() % 5 + 1; 
		randomColumn = rand() % 14 + 1; 

		saveElement = deck[4][row];
		deck[4][row] = deck[randomRow][randomColumn];
		deck[randomRow][randomColumn] = saveElement;
	}
}
</code></pre>
<p>Allerdings hab ich wohl einen Fehler drinne. So sieht meine Ausgabe aus wenn ich das Array ausgeben lasse:<br />
<a href="http://i.imgur.com/zOlb8hH.png" rel="nofollow">http://i.imgur.com/zOlb8hH.png</a></p>
<p>Alle Ideen sind willkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2400925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2400925</guid><dc:creator><![CDATA[Buddha]]></dc:creator><pubDate>Mon, 26 May 2014 14:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Array mischen on Mon, 26 May 2014 15:17:21 GMT]]></title><description><![CDATA[<p>Arrays werden von 0 bis Größe-1 indiziert. So etwas &quot;rand() % 5 + 1&quot; oder &quot;row = 1&quot; sieht für mich verdächtig aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2400928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2400928</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 26 May 2014 15:17:21 GMT</pubDate></item></channel></rss>