<?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[Programm gibt immer dasselbe aus]]></title><description><![CDATA[<p>Hallo!</p>
<p>Die Aufgabe ist zu einer Zahl 1 eine Zahl 2 zu finden, die in der Summe ihrer Teiler der Zahl 1 entspricht und andersrum. Inklusive 1, exklusive zahl selbst.</p>
<p>Bsp:</p>
<p>Teiler von 220: 1+2+4+5+10+11+20+22+44+55+110 = 284<br />
Teiler von 284: 1+2+4+71+142 = 220</p>
<p>Nun schrieb ich folgendes Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

// die Funktion FindeZweiteZahl bekommt eine Zahl übergeben, findet deren Teiler, addiert diese und gibt das Ergebnis zurück

int FindeZweiteZahl (int zahl){ 

	int y = 1; // Teiler
	int rest;
	int temp = 0; // Summe der Teiler
	do {
		rest = zahl % y;  // Schleife, die alle y durchläuft
			y++; // erhöht y immer um 1

			if (rest == 0){ // nur zahlen, die sich ohne rest teilen lassen, sind zu addieren
				temp = temp + y; // addiere alle y &lt; zahl1 und nenne sie temp
			}

			while (y &lt; zahl);// Abbruchbedingung
	} 

	return temp;// gibt Summe der Teiler aus
}

int main (){

	int Eingabe; // eingegebene Zahl
	int Ergebnis; // Summe der Teiler
	int Probe; // Summe der Teiler von Ergebnis

	cout &lt;&lt; &quot;Bitte geben sie eine Zahl ein&quot; &lt;&lt; endl;
	cin &gt;&gt; Eingabe;

	do {
		FindeZweiteZahl(Eingabe) = Ergebnis;
		FindeZweiteZahl(Ergebnis) = Probe;
	}

		if (Eingabe == Probe){ // Überprüfung ob Summe der Teiler von Ergebnis gleich eingegebener Zahl ist

			cout &lt;&lt; &quot;Glueckwunsch! Es gibt eine zweite Zahl!&quot; &lt;&lt; endl;
		}

}
</code></pre>
<p>Leider kommt bei jeder Zahl &quot;Glueckwunsch.....&quot; raus und ich finde den Fehler absolut nicht.</p>
<p>Bitte helft mir...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/255595/programm-gibt-immer-dasselbe-aus</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 21:16:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255595.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Dec 2009 17:28:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 17:28:56 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Die Aufgabe ist zu einer Zahl 1 eine Zahl 2 zu finden, die in der Summe ihrer Teiler der Zahl 1 entspricht und andersrum. Inklusive 1, exklusive zahl selbst.</p>
<p>Bsp:</p>
<p>Teiler von 220: 1+2+4+5+10+11+20+22+44+55+110 = 284<br />
Teiler von 284: 1+2+4+71+142 = 220</p>
<p>Nun schrieb ich folgendes Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

// die Funktion FindeZweiteZahl bekommt eine Zahl übergeben, findet deren Teiler, addiert diese und gibt das Ergebnis zurück

int FindeZweiteZahl (int zahl){ 

	int y = 1; // Teiler
	int rest;
	int temp = 0; // Summe der Teiler
	do {
		rest = zahl % y;  // Schleife, die alle y durchläuft
			y++; // erhöht y immer um 1

			if (rest == 0){ // nur zahlen, die sich ohne rest teilen lassen, sind zu addieren
				temp = temp + y; // addiere alle y &lt; zahl1 und nenne sie temp
			}

			while (y &lt; zahl);// Abbruchbedingung
	} 

	return temp;// gibt Summe der Teiler aus
}

int main (){

	int Eingabe; // eingegebene Zahl
	int Ergebnis; // Summe der Teiler
	int Probe; // Summe der Teiler von Ergebnis

	cout &lt;&lt; &quot;Bitte geben sie eine Zahl ein&quot; &lt;&lt; endl;
	cin &gt;&gt; Eingabe;

	do {
		FindeZweiteZahl(Eingabe) = Ergebnis;
		FindeZweiteZahl(Ergebnis) = Probe;
	}

		if (Eingabe == Probe){ // Überprüfung ob Summe der Teiler von Ergebnis gleich eingegebener Zahl ist

			cout &lt;&lt; &quot;Glueckwunsch! Es gibt eine zweite Zahl!&quot; &lt;&lt; endl;
		}

}
</code></pre>
<p>Leider kommt bei jeder Zahl &quot;Glueckwunsch.....&quot; raus und ich finde den Fehler absolut nicht.</p>
<p>Bitte helft mir...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816618</guid><dc:creator><![CDATA[StehtAufDemC++Schlauch]]></dc:creator><pubDate>Wed, 02 Dec 2009 17:28:56 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 17:31:13 GMT]]></title><description><![CDATA[<p>Why no while-do?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816622</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 02 Dec 2009 17:31:13 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 18:11:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">do { 
        FindeZweiteZahl(Eingabe) = Ergebnis; 
        FindeZweiteZahl(Ergebnis) = Probe; 
    }
</code></pre>
<p>Wieso machste hier denn ein do { }??</p>
<p>Wie auch immer, es sollte:</p>
<pre><code class="language-cpp">Ergebnis = FindeZweiteZahl(Eingabe); 
       Probe = FindeZweiteZahl(Ergebnis);
</code></pre>
<p>heissen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816646</guid><dc:creator><![CDATA[doitriight]]></dc:creator><pubDate>Wed, 02 Dec 2009 18:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 18:21:56 GMT]]></title><description><![CDATA[<p>Ausserdem sollte deine Funktion so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

// die Funktion FindeZweiteZahl bekommt eine Zahl übergeben, findet deren Teiler, addiert diese und gibt das Ergebnis zurück

int FindeZweiteZahl (int zahl){ 

	int y = 0; // Teiler
	int rest;
	int temp = 0; // Summe der Teiler
	do {
y++; // So wie du es vorhin gemacht hast, wurde die Zahl eins ignoriert
		rest = zahl % y;

			if (rest == 0){ 
				temp = temp + y;
			}

			while (y &lt; zahl/2);// Teiler über der Hälfte gibts nicht
	} 

	return temp;
}
</code></pre>
<p>quote]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816650</guid><dc:creator><![CDATA[doitriight]]></dc:creator><pubDate>Wed, 02 Dec 2009 18:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 20:41:04 GMT]]></title><description><![CDATA[<p>habe jetzt abgeändert und zwar wie folgt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

// die Funktion FindeZweiteZahl bekommt eine Zahl übergeben, findet deren Teiler, addiert diese und gibt das Ergebnis zurück

int FindeZweiteZahl (int zahl){

    int y = 0; // Teiler
    int rest;
    int temp = 0; // Summe der Teiler
    do {
		y++; // y wird um 1 erhöht
        rest = zahl % y;

            if (rest == 0){
                temp = temp + y;
            }

            while (y &lt; zahl/2);// Abbruchbedingung
	}
     return temp;
} 

int main (){

	int Eingabe; // eingegebene Zahl
	int Ergebnis; // Summe der Teiler
	int Probe; // Summe der Teiler von Ergebnis

	cout &lt;&lt; &quot;Bitte geben sie eine Zahl ein&quot; &lt;&lt; endl;
	cin &gt;&gt; Eingabe;

		Ergebnis = FindeZweiteZahl(Eingabe);
		Probe = FindeZweiteZahl(Ergebnis); 	

		if (Eingabe == Probe){ // Überprüfung ob Summe der Teiler von Ergebnis gleich eingegebener Zahl ist

			cout &lt;&lt; &quot;Glueckwunsch! Es gibt eine zweite Zahl!&quot; &lt;&lt; endl;
		}

}
</code></pre>
<p>jetzt kriege ich leider eine syntaxfehlermeldung beim return. hab ich da was falsch getippt???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816730</guid><dc:creator><![CDATA[StehtAufDemC++Schlauch]]></dc:creator><pubDate>Wed, 02 Dec 2009 20:41:04 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 20:43:01 GMT]]></title><description><![CDATA[<p>Ja du hast die Klammer von &quot;do&quot; eins zu niedrig gesetzt. Hier der gut eingerückte Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

// die Funktion FindeZweiteZahl bekommt eine Zahl übergeben, findet deren Teiler, addiert diese und gibt das Ergebnis zurück

int FindeZweiteZahl (int zahl){

    int y = 0; // Teiler
    int rest;
    int temp = 0; // Summe der Teiler
    do
    {
        y++; // y wird um 1 erhöht
        rest = zahl % y;
        if (rest == 0)
        {
            temp = temp + y;
        }
    }
    while (y &lt; zahl/2);// Abbruchbedingung

    return temp;
}

int main ()
{

    int Eingabe; // eingegebene Zahl
    int Ergebnis; // Summe der Teiler
    int Probe; // Summe der Teiler von Ergebnis

    cout &lt;&lt; &quot;Bitte geben sie eine Zahl ein&quot; &lt;&lt; endl;
    cin &gt;&gt; Eingabe;

    Ergebnis = FindeZweiteZahl(Eingabe);
    Probe = FindeZweiteZahl(Ergebnis);

    if (Eingabe == Probe)
    { // Überprüfung ob Summe der Teiler von Ergebnis gleich eingegebener Zahl ist
        cout &lt;&lt; &quot;Glueckwunsch! Es gibt eine zweite Zahl!&quot; &lt;&lt; endl;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1816733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816733</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Wed, 02 Dec 2009 20:43:01 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 21:04:34 GMT]]></title><description><![CDATA[<p>oh super! jetzt klappt es, vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816744</guid><dc:creator><![CDATA[StehtAufDemC++Schlauch]]></dc:creator><pubDate>Wed, 02 Dec 2009 21:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 21:27:44 GMT]]></title><description><![CDATA[<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>Ja du hast die Klammer von &quot;do&quot; eins zu niedrig gesetzt. Hier der gut eingerückte Code:</p>
</blockquote>
<p>Zeile 6 und 28, ähä, gut eingerückt also.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816752</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 02 Dec 2009 21:27:44 GMT</pubDate></item><item><title><![CDATA[Reply to Programm gibt immer dasselbe aus on Wed, 02 Dec 2009 21:48:10 GMT]]></title><description><![CDATA[<p>Der, dessen Name unschreibar ist, hat Recht. Ich habe vergessen die Klammer eins niedriger zu setzen und die leere Zeile in der main wegzumachen. Die Firma dankt dir! <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/1816764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816764</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Wed, 02 Dec 2009 21:48:10 GMT</pubDate></item></channel></rss>