<?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[feld rotation]]></title><description><![CDATA[<p>Hi,<br />
hab folgendes Programm geschrieben, das auch bis auf ein Problem funktionier.<br />
Es soll eine integer Zahl n (postitv) eingegeben werden und dann sollen die felder um die anzahl n nach rechts rotieren. Aber der Inhalt des feldes [9] passt nie .<br />
Kann mir jemand sagen warum? Hier das prog zum ausprobieren:</p>
<p>#include &lt;iostream&gt;<br />
using namespace std;<br />
int main (void)<br />
{<br />
int i;<br />
int array[10];<br />
int b;<br />
int n;<br />
int a;<br />
int z;<br />
int f;<br />
i=0;<br />
a=0;<br />
f=10;<br />
z=0;<br />
while (i&lt;10)<br />
{<br />
i=i+1;<br />
array[i]=i;<br />
cout &lt;&lt; array[i] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
}<br />
cout &lt;&lt; &quot; &quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;n eigeben: &quot;&lt;&lt;flush;<br />
cin &gt;&gt; n;</p>
<p>while (a+1&lt;n)<br />
{<br />
a=a+1;<br />
b=array[9];<br />
array[9]=array[8];<br />
array[8]=array[7];<br />
array[7]=array[6];<br />
array[6]=array[5];<br />
array[5]=array[4];<br />
array[4]=array[3];<br />
array[3]=array[2];<br />
array[2]=array[1];<br />
array[1]=array[0];<br />
array[0]=b;</p>
<p>}</p>
<p>while (z&lt;10)<br />
{<br />
cout &lt;&lt; array[z] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
z=z+1;<br />
}<br />
system(&quot;pause&quot;);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257043/feld-rotation</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 15:14:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257043.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Dec 2009 21:55:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to feld rotation on Mon, 21 Dec 2009 21:55:48 GMT]]></title><description><![CDATA[<p>Hi,<br />
hab folgendes Programm geschrieben, das auch bis auf ein Problem funktionier.<br />
Es soll eine integer Zahl n (postitv) eingegeben werden und dann sollen die felder um die anzahl n nach rechts rotieren. Aber der Inhalt des feldes [9] passt nie .<br />
Kann mir jemand sagen warum? Hier das prog zum ausprobieren:</p>
<p>#include &lt;iostream&gt;<br />
using namespace std;<br />
int main (void)<br />
{<br />
int i;<br />
int array[10];<br />
int b;<br />
int n;<br />
int a;<br />
int z;<br />
int f;<br />
i=0;<br />
a=0;<br />
f=10;<br />
z=0;<br />
while (i&lt;10)<br />
{<br />
i=i+1;<br />
array[i]=i;<br />
cout &lt;&lt; array[i] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
}<br />
cout &lt;&lt; &quot; &quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;n eigeben: &quot;&lt;&lt;flush;<br />
cin &gt;&gt; n;</p>
<p>while (a+1&lt;n)<br />
{<br />
a=a+1;<br />
b=array[9];<br />
array[9]=array[8];<br />
array[8]=array[7];<br />
array[7]=array[6];<br />
array[6]=array[5];<br />
array[5]=array[4];<br />
array[4]=array[3];<br />
array[3]=array[2];<br />
array[2]=array[1];<br />
array[1]=array[0];<br />
array[0]=b;</p>
<p>}</p>
<p>while (z&lt;10)<br />
{<br />
cout &lt;&lt; array[z] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
z=z+1;<br />
}<br />
system(&quot;pause&quot;);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826138</guid><dc:creator><![CDATA[Pjottre500]]></dc:creator><pubDate>Mon, 21 Dec 2009 21:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Mon, 21 Dec 2009 22:59:33 GMT]]></title><description><![CDATA[<p>Falsches Forum. So komische Sachen wie Strings in Streams bitshiften gibts nur in C++.</p>
<p>Benutze bitte die [cpp][/cpp]-Tags.</p>
<p>Deine ints lassen sich auch zusammen deklarieren.</p>
<pre><code class="language-cpp">int i=0, b, n, a=0, z=0, f=10;
</code></pre>
<p>Nach genauerem Hinsehen deklariere die Variablen lieber erst wenn du sie brauchst und nicht schon alle direkt am Anfang.</p>
<p>Ich weiß auch grad nicht warum dein feld[9] spinnt, aber du kannst ja vor und nach der Zeile mit array[9]=array[8] das array[9] ausgeben und damit kucken an welcher Stelle es nicht stimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826163</guid><dc:creator><![CDATA[nwp2]]></dc:creator><pubDate>Mon, 21 Dec 2009 22:59:33 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Mon, 21 Dec 2009 23:28:59 GMT]]></title><description><![CDATA[<p>Pjottre500 schrieb:</p>
<blockquote>
<p>...<br />
while (i&lt;10)<br />
{<br />
i=i+1;<br />
array*=i;<br />
cout &lt;&lt; array[i] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
}<br />
...<br />
*</p>
</blockquote>
<ul>
<li></li>
</ul>
<p>^^ das ist schonmal verkehrt. i wird zu früh hochgezählt, array[0] kriegt nix ab, array[10], das es nicht gibt, wird beschrieben. setz mal i vorher auf -1 oder die zeile [i]i=i+1* ganz unten in die schleife. vielleicht gehts dann.<br />
btw, der code ist sowieso ziemlicher schrott, am besten alles nochmal machen.<br />
<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/1826166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826166</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Mon, 21 Dec 2009 23:28:59 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Mon, 21 Dec 2009 23:29:33 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-1819.html" rel="nofollow">rüdiger</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826167</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 21 Dec 2009 23:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Tue, 22 Dec 2009 06:06:11 GMT]]></title><description><![CDATA[<p>Versuch mal das hier</p>
<p>( das waren ganze 30 min meines lebens um dir zu helfen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> )</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

#define MAX_ADDR( x ) ( (x) + sizeof ( (x) ) / sizeof ( (x)[0] ) )

using namespace std;

int main ( )
{
	const size_t MAX_L = 20;
	int array[MAX_L];

	int* pa = array;
	int n = 0;

	for ( int i = 1; i &lt;= MAX_L; ++i, ++pa )
	{
		*pa = i;
		cout &lt;&lt; *pa &lt;&lt; &quot; &quot; &lt;&lt; flush;
	}

	cout &lt;&lt; endl &lt;&lt; &quot;n eigeben: &quot; &lt;&lt; flush;
	cin &gt;&gt; n;

	if ( !cin )
	    return -1;

    int tmp = 0;
	for ( int i = 0; i &lt; n; ++i )
	{
        tmp = array[0];
		for ( int k = 0; k &lt; MAX_L - 1; ++k )
		{
			array[k] = array[k + 1];
		}
		*( MAX_ADDR( array ) - 1 ) = tmp;
	}

    pa = array;
	while ( pa &lt; MAX_ADDR( array ) )
	{
		cout &lt;&lt; *pa++ &lt;&lt; &quot; &quot; &lt;&lt; flush;
	}

	return 0;
}
</code></pre>
<p>Du kannst MAX_L beliebig setzen - es wird immer noch funktionieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826197</guid><dc:creator><![CDATA[Feld]]></dc:creator><pubDate>Tue, 22 Dec 2009 06:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Tue, 22 Dec 2009 10:11:16 GMT]]></title><description><![CDATA[<p>Feld schrieb:</p>
<blockquote>
<p>Du kannst MAX_L beliebig setzen - es wird immer noch funktionieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Beliebig setzen ja, funktionieren nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826270</guid><dc:creator><![CDATA[nööö]]></dc:creator><pubDate>Tue, 22 Dec 2009 10:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Tue, 22 Dec 2009 12:43:08 GMT]]></title><description><![CDATA[<p>So, hab es jetzt soweit, das es einwandfrei funktioniert, jetzt soll ich noch die Funktion, die die feldinhalte verschiebt auslagern, wie mach ich das?</p>
<p>#include &lt;iostream&gt;<br />
using namespace std;<br />
int main (void)<br />
{<br />
int i;<br />
int j;<br />
int array[10];<br />
int b;<br />
int n;<br />
int a;<br />
int z;<br />
int f;<br />
i=0;<br />
j=0;<br />
a=-1;<br />
f=10;<br />
z=0;<br />
while (i&lt;10)<br />
{<br />
i=i+1;<br />
array[j]=i;<br />
cout &lt;&lt; array[j] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
j=j+1;<br />
}<br />
cout &lt;&lt; &quot; &quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;n eigeben: &quot;&lt;&lt;flush;<br />
cin &gt;&gt; n;</p>
<p>while (a+1&lt;n)<br />
{<br />
a=a+1;<br />
b=array[9];<br />
array[9]=array[8];<br />
array[8]=array[7];<br />
array[7]=array[6];<br />
array[6]=array[5];<br />
array[5]=array[4];<br />
array[4]=array[3];<br />
array[3]=array[2];<br />
array[2]=array[1];<br />
array[1]=array[0];<br />
array[0]=b;</p>
<p>}</p>
<p>while (z&lt;10)<br />
{<br />
cout &lt;&lt; array[z] &lt;&lt; &quot; &quot; &lt;&lt; flush;<br />
z=z+1;<br />
}<br />
system(&quot;pause&quot;);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826340</guid><dc:creator><![CDATA[Pjottre500]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Tue, 22 Dec 2009 14:28:48 GMT]]></title><description><![CDATA[<p>Benutz bitte [cpp]-Tags (erste weisse Schaltfläche unter dem Textfeld). Das sieht dann so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
int main (void)
{
    int i;
    int j;
    int array[10];
    int b;
    int n;
    int a;
    int z;
    int f;
    i=0;
    j=0;
    a=-1;
    f=10; 
    z=0;
    while (i&lt;10)
    {
          i=i+1;
          array[j]=i;
          cout &lt;&lt; array[j] &lt;&lt; &quot; &quot; &lt;&lt; flush;
          j=j+1;
          }
    cout &lt;&lt; &quot; &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;n eigeben: &quot;&lt;&lt;flush;
    cin &gt;&gt; n;               

   while (a+1&lt;n)
    {
    a=a+1;
    b=array[9];
    array[9]=array[8];
    array[8]=array[7];
    array[7]=array[6];
    array[6]=array[5];
    array[5]=array[4];
    array[4]=array[3];
    array[3]=array[2];
    array[2]=array[1];
    array[1]=array[0];
    array[0]=b;

    }

while (z&lt;10)
{
cout &lt;&lt; array[z] &lt;&lt; &quot; &quot; &lt;&lt; flush;
z=z+1;  
}
system(&quot;pause&quot;);
}
</code></pre>
<p>Nimm das nicht persönlich, aber dein Code ist grauenhaft. Was bringt die Massen-Deklaration am Anfang der Funktion? Deklariere Variablen erst, wenn du sie brauchst. Und initialisiere sie gleich mit sinnvollen Werten, wenn möglich. Nimm ausserdem For-Schleifen, While ist hier nicht geeignet. Die elementweisen Array-Zuweisungen à la <code>array[9]=array[8];</code> kannst du auch in eine Schleife packen. Wenn du das Ganze mit Modulo löst, brauchst du nicht einmal Spezialfälle zu beachten.</p>
<p>Pjottre500 schrieb:</p>
<blockquote>
<p>So, hab es jetzt soweit, das es einwandfrei funktioniert, jetzt soll ich noch die Funktion, die die feldinhalte verschiebt auslagern, wie mach ich das?</p>
</blockquote>
<p>Weisst du, wie man in C++ eine Funktion definiert? Falls ja: schreibe dir eine, die als Parameter einen Zeiger auf <code>int</code> (für das Array) und einen <code>unsigned int</code> (für die Grösse) nimmt. Falls nein, solltest du das dringend in deinem C++-Buch nachlesen, Funktionen sind nämlich absolute Grundlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826408</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Dec 2009 14:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to feld rotation on Tue, 22 Dec 2009 14:59:10 GMT]]></title><description><![CDATA[<p>nööö schrieb:</p>
<blockquote>
<p>Feld schrieb:</p>
<blockquote>
<p>Du kannst MAX_L beliebig setzen - es wird immer noch funktionieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Beliebig setzen ja, funktionieren nein.</p>
</blockquote>
<p>In welchem Fall nicht?<br />
Ich gehe davon aus, das size_t auch passende Werte zugewiesen bekommt. Klar, wenn du -1 reinschreibst wird es nicht gehen, aber das ist schon eher Problem bei denjenigen, der es eingibt und nicht bei Programm als solches.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826429</guid><dc:creator><![CDATA[Feld]]></dc:creator><pubDate>Tue, 22 Dec 2009 14:59:10 GMT</pubDate></item></channel></rss>