<?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[Funktionen mit einer ID versehen]]></title><description><![CDATA[<p>Tach allerseits <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<p>Ich habe verschieden Funktionen (24 an der Zahl) und möchte diese irgendwie aufrufen können, wenn ich die ID irgendwie benutze...</p>
<p>So sehen im Grunde alle meine Funktionen aus...</p>
<pre><code class="language-cpp">void Noten::spieleC() {

	soundEngine = createIrrKlangDevice();

	soundFile = &quot;C.mp3&quot;;

	soundEngine-&gt;play2D(soundFile.c_str());

	this-&gt;id = 1;
}
</code></pre>
<p>und der Aufruf:</p>
<pre><code class="language-cpp">Noten note;

				 if(note.getId() == 1) {
					// rufe diese Funktion mit der ID 1 auf
				 }
</code></pre>
<p>Hat da jemand eine Idee wie das gehen kann?</p>
<p>Gruß Zel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306829/funktionen-mit-einer-id-versehen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 07:49:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306829.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2012 12:16:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 12:16:47 GMT]]></title><description><![CDATA[<p>Tach allerseits <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<p>Ich habe verschieden Funktionen (24 an der Zahl) und möchte diese irgendwie aufrufen können, wenn ich die ID irgendwie benutze...</p>
<p>So sehen im Grunde alle meine Funktionen aus...</p>
<pre><code class="language-cpp">void Noten::spieleC() {

	soundEngine = createIrrKlangDevice();

	soundFile = &quot;C.mp3&quot;;

	soundEngine-&gt;play2D(soundFile.c_str());

	this-&gt;id = 1;
}
</code></pre>
<p>und der Aufruf:</p>
<pre><code class="language-cpp">Noten note;

				 if(note.getId() == 1) {
					// rufe diese Funktion mit der ID 1 auf
				 }
</code></pre>
<p>Hat da jemand eine Idee wie das gehen kann?</p>
<p>Gruß Zel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240036</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:16:47 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 12:26:40 GMT]]></title><description><![CDATA[<p>Du könntest Funktionspointer in einer std::map speichern - wenn deine IDs fortlaufend sind, geht auch ein std::vector.</p>
<p>Willst du für jeden Buchstaben eine eigene Funktion? Warum übergibst du nicht einfach den Buchstaben als Parameter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240042</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:26:40 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 12:55:22 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>Willst du für jeden Buchstaben eine eigene Funktion? Warum übergibst du nicht einfach den Buchstaben als Parameter?</p>
</blockquote>
<pre><code class="language-cpp">void Noten::spieleNote(string name) {

	soundEngine = createIrrKlangDevice();

	soundFile = name;

	soundEngine-&gt;play2D(soundFile.c_str());

}
</code></pre>
<p>und im Aufruf:</p>
<pre><code class="language-cpp">string s1 = &quot;C.mp3&quot;;
note.spieleNote(s1);
</code></pre>
<p>funktioniert auch sehr gut - jetzt muss ich ja meinen Vektor befüllen, meine Methode wäre jetzt sehr simpel:</p>
<pre><code class="language-cpp">string s1 = &quot;C.mp3&quot;;
string s2 = &quot;CisDes.mp3&quot;;
// ...
string s24 = &quot;H1.mp3&quot;;

vector.push_back(s1);
vector.push_back(s2);
// ...
vector.push_back(s24);
</code></pre>
<p>Gibts da ne schönere Variante oder geht das halt nur so?^^</p>
<p>Zweite Frage dann:</p>
<p>wie kann ich aus nem</p>
<pre><code class="language-cpp">vector&lt;string&gt;
</code></pre>
<p>nen zufällig gewählten string-wert rauspicken?^^</p>
<p>Und schonmal vielen Dank für deine Idee mit dem übergebenen Parameter... (dass ich da auch nicht selbst drauf komme... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      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>
]]></description><link>https://www.c-plusplus.net/forum/post/2240054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240054</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:01:28 GMT]]></title><description><![CDATA[<p>Zel2491 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string s1 = &quot;C.mp3&quot;;
string s2 = &quot;CisDes.mp3&quot;;
// ...
string s24 = &quot;H1.mp3&quot;;

vector.push_back(s1);
vector.push_back(s2);
// ...
vector.push_back(s24);
</code></pre>
<p>Gibts da ne schönere Variante oder geht das halt nur so?^^</p>
</blockquote>
<p>du kannst die strings direkt übergeben, ohne den Zwischenschritt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">vector.push_back(&quot;C.mp3&quot;);
</code></pre>
<p>Wenn sich die Dateien alle in einem Verzeichnis befinden, könntest du eventuell dieses Verzeichnis durchsuchen und alle mp3-Dateien hinzufügen. Allerdings kann ich dir nicht sagen, wie das genau geht. Google könnte helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Zel2491 schrieb:</p>
<blockquote>
<p>wie kann ich aus nem</p>
<pre><code class="language-cpp">vector&lt;string&gt;
</code></pre>
<p>nen zufällig gewählten string-wert rauspicken?</p>
</blockquote>
<p>Lass dir eine Zufallszahl im Bereich [0, vector.size()-1] berechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240058</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:01:28 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:03:12 GMT]]></title><description><![CDATA[<p>Zel2491 schrieb:</p>
<blockquote>
<p>funktioniert auch sehr gut - jetzt muss ich ja meinen Vektor befüllen, meine Methode wäre jetzt sehr simpel:</p>
<pre><code class="language-cpp">string s1 = &quot;C.mp3&quot;;
string s2 = &quot;CisDes.mp3&quot;;
// ...
string s24 = &quot;H1.mp3&quot;;

vector.push_back(s1);
vector.push_back(s2);
// ...
vector.push_back(s24);
</code></pre>
<p>Gibts da ne schönere Variante oder geht das halt nur so?^^</p>
</blockquote>
<p>In C++11 kannst du die Standardcontainer direkt initialisieren:</p>
<pre><code class="language-cpp">vector&lt;int&gt; foo = {1,2,3,4};
</code></pre>
<p>In C++98 kannst du aber immerhin schöner aufschreiben:</p>
<pre><code class="language-cpp">char *values[]={&quot;A.mp3&quot;, &quot;B.mp3&quot;, &quot;C.mp3&quot;};
vector&lt;string&gt; foo(values, values + sizeof(values)/sizeof(*values));
</code></pre>
<p>Oder eine dritte Möglichkeit(falls man kein C++11 hat) ist, sich die Zuweisung schön in einer Bibliothek zu kapseln, gibt's schon fertig:<br />
<a href="http://www.boost.org/doc/libs/1_50_0/libs/assign/doc/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_50_0/libs/assign/doc/index.html</a></p>
<blockquote>
<p>Zweite Frage dann:</p>
<p>wie kann ich aus nem</p>
<pre><code class="language-cpp">vector&lt;string&gt;
</code></pre>
<p>nen zufällig gewählten string-wert rauspicken?^^</p>
</blockquote>
<p>Du nimmst eine zufällige Zahl zwischen 0 und dem maximalen Index und den zugehörigen Wert nimmst du dann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240060</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:37:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char* buchstaben[] = {&quot;C.mp3&quot;, &quot;CisDes.mp3&quot;, &quot;D.mp3&quot;, &quot;DisEs.mp3&quot;, &quot;E.mp3&quot;, &quot;F.mp3&quot;,
		&quot;FisGes.mp3&quot;, &quot;G.mp3&quot;, &quot;GisAs.mp3&quot;, &quot;A.mp3&quot;, &quot;AisB.mp3&quot;, &quot;H.mp3&quot;, &quot;C1.mp3&quot;,
		&quot;CisDes1.mp3&quot;, &quot;D1.mp3&quot;, &quot;DisEs1.mp3&quot;, &quot;E1.mp3&quot;, &quot;F1.mp3&quot;, &quot;FisGes1.mp3&quot;, &quot;G1.mp3&quot;,
		&quot;GisAs1.mp3&quot;, &quot;A1.mp3&quot;, &quot;AisB1.mp3&quot;, &quot;H1.mp3&quot;};

	vector&lt;string&gt; buchstabenVektor(buchstaben, buchstaben + sizeof(buchstaben) / sizeof(*buchstaben));

	srand(time(NULL));

	zufall = rand()%24;

	note.spieleNote(buchstabenVektor.at(zufall));
	Sleep(1000);
	zufall = rand()%24;
	note.spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>Klappt wunderbar <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="🙂"
    /> Vielen Dank <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>
<p>Nur eine Frage hab ich noch:</p>
<p>bei der rand()-Funktion hab ich im Internet beim Beispiel eines Würfels folgendes gefunden:</p>
<pre><code class="language-cpp">srand(time(NULL));
int zufall=rand()%6+1;
</code></pre>
<p>Wieso nimmt der 6+1? Ein Würfel hat doch nur 6 Seiten? <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="😃"
    /> Und falls das doch Sinn macht - wieso nimmt er 6+1 und nicht direkt 7?^^ Und was hat in dem Fall das &quot;%&quot; zu bedeuten?</p>
<p>Gruß Zel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240079</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:40:08 GMT]]></title><description><![CDATA[<p>Weil irgendwas % 6 Ergebnisse von 0 - 5 bringt, ein Würfel aber die Werte 1 - 6 hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240081</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:47:49 GMT]]></title><description><![CDATA[<p>% ist der modulo operator<br />
das ist eine division wo aber der rest rauskommt und nicht das ergebnis der division</p>
<p>9 / 3 = 3 Rest 0 (9%3 also = 0)<br />
9 / 5 = 1 Rest 4 (9%5 = 4)<br />
...</p>
<p>edit: haha erster, daddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240084</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:47:49 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:43:41 GMT]]></title><description><![CDATA[<p>Zel2491 schrieb:</p>
<blockquote>
<p>Und was hat in dem Fall das &quot;%&quot; zu bedeuten?</p>
</blockquote>
<p>Das ist der &quot;Modulo&quot;-Operator. Der liefert den Rest einer ganzzahligen Division:</p>
<p>24 % 5 = 4</p>
<p>und da dieser Operator eine höhere Priorität als &quot;+&quot; hat, steht in dem Code auch nicht &quot;+7&quot;. Wenn du &quot;%6&quot; anwendest, erhältst du Zahlen im Bereich [0,5]. Da steht noch &quot;+1&quot;, weil der Autor den Bereich [1,6] haben möchte - dies entspricht dann exakt den Seiten eines Würfels.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240085</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 13:55:09 GMT]]></title><description><![CDATA[<p>Ah okay <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Schon wieder was gelernt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Direkte Frage wieder dazu^^</p>
<p>Wenn ich einen Ton abspiele, möchte ich, dass der nächste Ton höher ist, als der vorherige</p>
<p>sprich:</p>
<p>24 Töne zur Auswahl</p>
<p>wenn ich</p>
<pre><code class="language-cpp">srand(time(NULL));
	zufall = rand()%24;

	note.spieleNote(buchstabenVektor.at(zufall));

	Sleep(1000);

	zufall = rand()%???; // von zufall - 24
	note.spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>wie sage ich hier, dass er eine Zahl AB der vorherigen Zufallszahl wählen soll, also von zufall - 24 (wenn zufall = 13, zwischen 13 und 24)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240090</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:55:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 14:04:37 GMT]]></title><description><![CDATA[<p>Och, das solltest du dir mit den genannten Mitteln eigentlich selber denken können. Ganz dicker Tipp: <code>rand() % range + minimum</code> gibt dir eine Zufallszahl zwischen <code>minimum</code> (inklusive) und <code>minimum + range</code> (exklusive). Den Rest schaffst du dann hoffentlich alleine. Denk aber auch mal nach, warum das so ist!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240098</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 14:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 14:56:41 GMT]]></title><description><![CDATA[<p>Ja, bedingt:</p>
<pre><code class="language-cpp">srand(time(NULL));
	zufall = rand() % sizeof(buchstabenVektor);

	note.spieleNote(buchstabenVektor.at(zufall));

	Sleep(1000);

	srand(time(NULL)); // die zeile hatte ich vorher nicht
	zufall = rand() % sizeof(buchstabenVektor) + zufall; // Hier Fehler
	note.spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>Nur hat er noch die Möglichkeit, außerhalb des Vektors zu gelangen schätze ich mal, da er ab und zu nen Fehler auswirft und das Programm beendet - ich denk halt mal, dass er außerhalb der Grenzen des Vektors sucht, nix findet und abbricht.</p>
<p>Edit: Denkfehler oder? Wenn ich beim ersten mal die 24 ziehe hat er ja nix mehr nach oben schätz ich mal^^ Also beim ersten mal die Grenze bei 23 ziehen schätze ich mal, oder?^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240115</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 14:56:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 15:38:07 GMT]]></title><description><![CDATA[<p>Alles falsch. Und hat auch nicht im geringsten mit den Antworten zu tun. Wo hast du das denn her? srand benutzt man so nicht. sizeof erst recht nicht. Der Fehler tritt auch bestimmt erst eine Zeile später aus, oder? Guck nochmal nach.</p>
<p>Fehlerkorrekturen:<br />
1. Ansehen und verstehen, was srand genau macht, ggf. mal ein paar Beispiele angucken<br />
2. Oje. Da kann ich nicht helfen, außer dich auf ein Lehrbuch zu verweisen. sizeof hat bei einem Container gar nichts zu suchen und wenn du das anders denkst, dann musst du noch einmal die Grundlagen wiederholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240136</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 15:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 16:09:50 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>In C++98 kannst du aber immerhin schöner aufschreiben:</p>
<pre><code class="language-cpp">char *values[]={&quot;A.mp3&quot;, &quot;B.mp3&quot;, &quot;C.mp3&quot;};
vector&lt;string&gt; foo(values, values + sizeof(values)/sizeof(*values));
</code></pre>
</blockquote>
<p>const-correctness? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240146</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Wed, 08 Aug 2012 16:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 18:14:05 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Alles falsch. Und hat auch nicht im geringsten mit den Antworten zu tun. Wo hast du das denn her? srand benutzt man so nicht. sizeof erst recht nicht. Der Fehler tritt auch bestimmt erst eine Zeile später aus, oder? Guck nochmal nach.</p>
<p>Fehlerkorrekturen:<br />
1. Ansehen und verstehen, was srand genau macht, ggf. mal ein paar Beispiele angucken<br />
2. Oje. Da kann ich nicht helfen, außer dich auf ein Lehrbuch zu verweisen. sizeof hat bei einem Container gar nichts zu suchen und wenn du das anders denkst, dann musst du noch einmal die Grundlagen wiederholen.</p>
</blockquote>
<p>Ich hab mit srand noch nie gearbeitet - muss ich mich da nochmal einlesen.</p>
<p>sizeof...haste Recht - ich verwechsel das iwie dauernd mit</p>
<pre><code class="language-cpp">vector.size()
</code></pre>
<p>-.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240189</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 18:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 18:16:40 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/172876" rel="nofollow">Zufälle gibt's</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240190</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 18:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 18:46:19 GMT]]></title><description><![CDATA[<p>Okay...falls ich jetzt nicht ganz falsch liege...</p>
<pre><code class="language-cpp">int iMax = buchstabenVektor.size() - 1;

	srand(static_cast&lt;int&gt;(time(NULL)));

	assert(iMax - 0 &lt; RAND_MAX);

	zufall = rand() % iMax;

	spieleNote(buchstabenVektor.at(zufall));

	Sleep(1000);

	zufall = rand() % iMax + zufall;

	spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>Trotzdem kommt immer noch folgende Fehlermeldung - bzw. nicht immer, sondern ab und zu, ich schätze irgendwie, wenn er außerhalb des Vektors nach einer Zahl sucht...?</p>
<p><a href="http://www.file-upload.net/download-4651007/Fehlermeldung.png.html" rel="nofollow">http://www.file-upload.net/download-4651007/Fehlermeldung.png.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240206</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 18:46:19 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 18:55:50 GMT]]></title><description><![CDATA[<p>Wenn du Zahlen zwischen zufall und buchstabenVektor.size() suchst, wie groß ist dann der Bereich, aus dem die Zahlen kommen können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240209</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 18:55:50 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 19:23:17 GMT]]></title><description><![CDATA[<p>Das ist das Ding...</p>
<p>falls ich am Anfang die 23 ziehe, hab ich ja...gar keine Zahl mehr übrig <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>Dann muss ich meine Bedingung noch iwie ändern...^^</p>
<pre><code class="language-cpp">zufall = rand() % iMax;

// ...

zufall = rand() % iMax + (zufall - 1);
</code></pre>
<p>iMax = 23</p>
<p>sagen wir mal, wir ziehen beim ersten Mal die 23 direkt, dann ergibt sich:</p>
<p>zufall = 23 + 22 - also könnte er von 22 - 23 noch etwas ziehen, oder seh ich das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240219</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 19:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 19:45:10 GMT]]></title><description><![CDATA[<p>Ich verstehe zwar nicht was du meinst, aber falls du den Vektor beliebig durchmischen möchtest, kannst du das mit <code>random_shuffle</code> tun.</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt; // ganz oben im File

// Benutzung:
std::random_shuffle (buchstabenVektor.begin(), buchstabenVektor.end());
// jetzt ist buchstabenVektor zufällig durchmischt
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2240229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240229</guid><dc:creator><![CDATA[zufälligerbeobachter]]></dc:creator><pubDate>Wed, 08 Aug 2012 19:45:10 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 20:09:55 GMT]]></title><description><![CDATA[<p>Nochmal:</p>
<p>ich spiele zuerst einen zufälligen Ton ab aus meinem Vektor - in meinem Vektor befinden sich 24 Noten, also 0-23 zur Auswahl.</p>
<p>Jetzt spiele ich zum ersten Mal einen Ton ab</p>
<pre><code class="language-cpp">zufall = rand() % iMax;
spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>jetzt möchte ich, dass der nächste Ton höher ist, als der schon gespielte - also muss ich dann die Ziehung eingrenzen - von der eben gezogenen Zahl bis zum Ende des Vektor.</p>
<p>Wenn ich z.B. beim ersten Mal die 13 ziehe, will ich danach nur von 13 - 23 ziehen können. Von durchmischen hatte ich nie etwas erwähnt...</p>
<p>Das Problem ist jetzt aber nur, dass er anscheinend außerhalb meines Vektors auch sucht, darum hatte ich es mit</p>
<pre><code class="language-cpp">zufall = rand() % iMax + zufall;
spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>probiert.</p>
<p>Meiner Hoffnung nach wäre das, wenn wir beim Beispiel 13 bleiben:</p>
<p>zufall = rand() % 23 + 13</p>
<p>also zieht er jetzt von 13 - 23. Nur schmeißt er mir immer noch den Fehler (da hatte ich das Bild ja zu hochgeladen...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240236</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 20:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 20:25:45 GMT]]></title><description><![CDATA[<p>Beispielrechnung:</p>
<p>Zufallszahl 42:<br />
42%23=19<br />
19+13=32<br />
32 ist out of Range..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240242</guid><dc:creator><![CDATA[Nymer]]></dc:creator><pubDate>Wed, 08 Aug 2012 20:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen mit einer ID versehen on Wed, 08 Aug 2012 20:31:52 GMT]]></title><description><![CDATA[<p>Danke...Manchmal hat man halt ein Brett vorm Kopp...^^</p>
<p>Ja...klingt durchaus logisch was du da schreibst...^^</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">int iMax = buchstabenVektor.size() - 1;

	srand(static_cast&lt;int&gt;(time(NULL)));

	zufall = rand() % iMax;

	spieleNote(buchstabenVektor.at(zufall));

	Sleep(1000);

	zufall = rand() % (iMax - zufall) + zufall;

	spieleNote(buchstabenVektor.at(zufall));
</code></pre>
<p>funktioniert einwandfrei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240244</guid><dc:creator><![CDATA[Zel2491]]></dc:creator><pubDate>Wed, 08 Aug 2012 20:31:52 GMT</pubDate></item></channel></rss>