<?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[indexieren:]]></title><description><![CDATA[<p>Er funktioniert mit das Programm! Nun zur Frage. Ich möchte, daß jede Zahl im Container nur 1 vorhanden ist. Zugleich will ich, daß die Zahlen, die mehr als einmal vorhanden sind, in einen anderen Container geschrieben werden, mit einem Index, wie oft sie produziert werden von der Formel. Hab momentan keine Idee, wie das umzusetzen wäre ....</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int SZ; //Spiegelzahl
int DZ=1; //Durchlaufzahl
int FZ=2; //Faktorzahl
int ZZ=0; //Zählerzahl
int TS=0;
vector&lt;int&gt;Container(0);//vector&lt;int&gt;NTTS(0); //NichttrivialeTeilersumme

int main(int argc, const char * argv[])
{
        for (ZZ=1;ZZ&lt;=10;ZZ++)
        {
            DZ=DZ*FZ;
            cout&lt;&lt;&quot;for  ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot; \n&quot;;

           if (DZ&lt;=10)
            {
            DZ=10-DZ;
            std::cout&lt;&lt;&quot;if   ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
           else
            {
            DZ=DZ-10;
            cout&lt;&lt;&quot;else ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
            std::cout&lt;&lt;&quot; = &quot;&lt;&lt;DZ&lt;&lt;&quot; ist Durchlaufzahl Runde=&quot;&lt;&lt;ZZ&lt;&lt;&quot;.\n&quot;;
            Container.push_back(DZ);
        }

    for(auto it=Container.begin();it!=Container.end();it++)
    {
        cout&lt;&lt;*it;
        if( it!=Container.end()-1 )
            cout&lt;&lt;&quot; + &quot;;
    }
    return (0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/327323/indexieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 07:12:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327323.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Aug 2014 12:10:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:10:56 GMT]]></title><description><![CDATA[<p>Er funktioniert mit das Programm! Nun zur Frage. Ich möchte, daß jede Zahl im Container nur 1 vorhanden ist. Zugleich will ich, daß die Zahlen, die mehr als einmal vorhanden sind, in einen anderen Container geschrieben werden, mit einem Index, wie oft sie produziert werden von der Formel. Hab momentan keine Idee, wie das umzusetzen wäre ....</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int SZ; //Spiegelzahl
int DZ=1; //Durchlaufzahl
int FZ=2; //Faktorzahl
int ZZ=0; //Zählerzahl
int TS=0;
vector&lt;int&gt;Container(0);//vector&lt;int&gt;NTTS(0); //NichttrivialeTeilersumme

int main(int argc, const char * argv[])
{
        for (ZZ=1;ZZ&lt;=10;ZZ++)
        {
            DZ=DZ*FZ;
            cout&lt;&lt;&quot;for  ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot; \n&quot;;

           if (DZ&lt;=10)
            {
            DZ=10-DZ;
            std::cout&lt;&lt;&quot;if   ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
           else
            {
            DZ=DZ-10;
            cout&lt;&lt;&quot;else ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
            std::cout&lt;&lt;&quot; = &quot;&lt;&lt;DZ&lt;&lt;&quot; ist Durchlaufzahl Runde=&quot;&lt;&lt;ZZ&lt;&lt;&quot;.\n&quot;;
            Container.push_back(DZ);
        }

    for(auto it=Container.begin();it!=Container.end();it++)
    {
        cout&lt;&lt;*it;
        if( it!=Container.end()-1 )
            cout&lt;&lt;&quot; + &quot;;
    }
    return (0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411939</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:10:56 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:23:46 GMT]]></title><description><![CDATA[<p>ich schlage std::map vor. Da kannst du zu jeder Zahl die Häufigkeit speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411944</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:40:04 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>ich schlage std::map vor. Da kannst du zu jeder Zahl die Häufigkeit speichern.</p>
</blockquote>
<p>Danke, kannst Du mir nen Link schicken, wo ich die Sintax auf Deusct einsehen kann, kenne den Befehl nemlich nicht.</p>
<p>Danke nochmals ...</p>
<p>Achso, ich brach was nichtenglisches für Doofe ...</p>
<p>Dies: <a href="http://www.texttransformer.de/html/tthelp/interpreter_mstrstr.htm" rel="nofollow">http://www.texttransformer.de/html/tthelp/interpreter_mstrstr.htm</a></p>
<p>versteh ich nicht. Es ist zu hoch formuliert....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411948</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:38:30 GMT]]></title><description><![CDATA[<p>Hast du ein gutes C++-Buch? <code>std::map</code> sollte darin erklärt werden. Ansonsten kannst du sicher Suchmaschinen bedienen.</p>
<p>P.S.: Langfristig wirst du in der Programmierung nicht um Englisch herumkommen. Ich würde besser früh damit beginnen <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/2411949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411949</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:38:30 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:39:51 GMT]]></title><description><![CDATA[<p>brak schrieb:</p>
<blockquote>
<p>Danke, kannst Du mir nen Link schicken, wo ich die Sintax auf Deusct einsehen kann, kenne den Befehl nemlich nicht.</p>
</blockquote>
<p>P.S.: Langfristig wirst du in der Programmierung nicht um Deutsch herumkommen. Ich würde besser früh damit beginnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411952</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:39:51 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:41:48 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Hast du ein gutes C++-Buch? <code>std::map</code> sollte darin erklärt werden. Ansonsten kannst du sicher Suchmaschinen bedienen.</p>
</blockquote>
<p>Ich hab ein gutes C++uch, aber ich bin im Urlaub und es steht zuhause :-), hätte dran denken sollen, daß mich das Programmieren überkommt ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411954</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:41:48 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 12:45:45 GMT]]></title><description><![CDATA[<p>brak schrieb:</p>
<blockquote>
<p>Ich hab ein gutes C++uch,</p>
</blockquote>
<p>Ähm.</p>
<p>brak schrieb:</p>
<blockquote>
<pre><code>return (0);
</code></pre>
</blockquote>
<p>Nein, das ist nur ein schlechtes C-Buch mit ein paar C++-Sprachmitteln. Wolf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411956</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 04 Aug 2014 12:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 13:02:58 GMT]]></title><description><![CDATA[<p>Er meint sicher --C(uch).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411960</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 04 Aug 2014 13:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 15:33:17 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>ich schlage std::map vor. Da kannst du zu jeder Zahl die Häufigkeit speichern.</p>
</blockquote>
<p>Kannst Du mir ein Beispiel für eine solchen Map-Gebrauch linken? Ich find nichts Aussagekräftiges...</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411978</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Mon, 04 Aug 2014 15:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 15:35:52 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/map/map/" rel="nofollow">http://www.cplusplus.com/reference/map/map/</a><br />
?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411979</guid><dc:creator><![CDATA[tkausl]]></dc:creator><pubDate>Mon, 04 Aug 2014 15:35:52 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 17:34:50 GMT]]></title><description><![CDATA[<p>tkausl schrieb:</p>
<blockquote>
<p><a href="http://www.cplusplus.com/reference/map/map/" rel="nofollow">http://www.cplusplus.com/reference/map/map/</a><br />
?!</p>
</blockquote>
<p>Okay, Danke, man kann etwas suchen in Map. Er soll jetzt kucken, ob es ein Element schon gibt, und dann wenn es das Element schon gibt, soll dessen Index um eins erhöht werden, wenn es das Element noch nicht gibt, dann soll er es einfügen.</p>
<p>Wie dass? mit find und if</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411989</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Mon, 04 Aug 2014 17:34:50 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 17:53:57 GMT]]></title><description><![CDATA[<p>brak schrieb:</p>
<blockquote>
<p>tkausl schrieb:</p>
<blockquote>
<p><a href="http://www.cplusplus.com/reference/map/map/" rel="nofollow">http://www.cplusplus.com/reference/map/map/</a><br />
?!</p>
</blockquote>
<p>Okay, Danke, man kann etwas suchen in Map. Er soll jetzt kucken, ob es ein Element schon gibt, und dann wenn es das Element schon gibt, soll dessen Index um eins erhöht werden, wenn es das Element noch nicht gibt, dann soll er es einfügen.</p>
<p>Wie dass? mit find und if</p>
</blockquote>
<p>Ne. Angenommen du willst Buchstaben zählen:</p>
<pre><code>char c;
cin &gt;&gt; c;
map&lt;char,unsigned&gt; m;
++m[c]; // das wars
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411990</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 04 Aug 2014 17:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 18:12:56 GMT]]></title><description><![CDATA[<p>@out: In diesem speziellen Fall ist ein Array besser, da der Wertebereich klein ist.</p>
<pre><code>std::array&lt;unsigned, UCHAR_MAX+1&gt; counter{};

++counter[ std::cin.get()  ];
</code></pre>
<p><code>std::array</code> statt einem echten Array aus einem recht subtilen Grund: <code>char</code> kann auch vorzeichenbehaftet sein, so ist eine Konvertierung zu <code>std::size_t</code> durch den überladenen <code>operator[]</code> erzwungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411994</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 04 Aug 2014 18:12:56 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 18:48:55 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p><code>std::array</code> statt einem echten Array aus einem recht subtilen Grund: <code>char</code> kann auch vorzeichenbehaftet sein, so ist eine Konvertierung zu <code>std::size_t</code> durch den überladenen <code>operator[]</code> erzwungen.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Dann greifst du eben auf Index 2^64-1 zu anstatt auf Index -1. Ist das besser?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412000</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 04 Aug 2014 18:48:55 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Mon, 04 Aug 2014 19:09:37 GMT]]></title><description><![CDATA[<p>Was für ein böser Denkfehler... <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="😮"
    /></p>
<p>Ich dachte die 11111111 wird direkt übernommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412002</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 04 Aug 2014 19:09:37 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 08:29:28 GMT]]></title><description><![CDATA[<p>Konkret weiß ich nicht, wie ich bei map den 1. Wert (key) und den Zweiten (type) anspreche, eingebe und verändere wenn ich std::map&lt;int,int&gt;zahlenindex; habe, also beides Integers sind....</p>
<pre><code>include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;map&gt;
using namespace std;

int SZ=12; //Spiegelzahl
int DZ=1; //Durchlaufzahl
int FZ=2; //Faktorzahl
int ZZ=0; //Zählerzahl
int TS=0;
vector&lt;int&gt;Container(0);//vector&lt;int&gt;NTTS(0); //NichttrivialeTeilersumme
//map&lt;int,int&gt;Zahlenindex; //erhält jede Zahl einen Zähler

int main(int argc, const char * argv[])
{
    std::map&lt;int,int&gt;Zahlenindex;
    std::map&lt;int,int&gt;::iterator it;

        for (ZZ=1;ZZ&lt;=10;ZZ++)
        {
            DZ=DZ*FZ;
            cout&lt;&lt;&quot;for  ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot; ZI=&quot;&lt;&lt;Zahlenindex.find(DZ)-&gt;first&lt;&lt;&quot; \n&quot;;

           if (DZ&lt;=SZ)
            {
            DZ=SZ-DZ;
            std::cout&lt;&lt;&quot;if   ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
           else
            {
            DZ=DZ-SZ;
            cout&lt;&lt;&quot;else ZZ=&quot;&lt;&lt;ZZ&lt;&lt;&quot; DZ=&quot;&lt;&lt;DZ&lt;&lt;&quot;\n&quot;;
            }
            std::cout&lt;&lt;&quot; = &quot;&lt;&lt;DZ&lt;&lt;&quot; ist Durchlaufzahl Runde=&quot;&lt;&lt;ZZ&lt;&lt;&quot;.\n&quot;;
            Container.push_back(DZ);
            it=Zahlenindex.find(DZ);
            Zahlenindex[DZ]=Zahlenindex[DZ]+1;

        }

    for(auto it=Container.begin();it!=Container.end();it++)
    {
        cout&lt;&lt;*it;
        if( it!=Container.end()-1 )
            cout&lt;&lt;&quot; + &quot;;
    }
    std::cout&lt;&lt;&quot;\n&quot;;
    return (0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2412046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412046</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Tue, 05 Aug 2014 08:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 09:58:46 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;map&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
	vector&lt;int&gt; container;
	map&lt;int,unsigned&gt; wie_oft_doppelt; // Versuch mal deine Typen an die menschliche Logik anzupassen. Wenn ich was zähle, lande ich mal nie unter 0.

	for(int zahl; cin&gt;&gt;zahl;) // Geben wir mal 5 6 8 3 2 7 9 65 3 67 84 3 65 ein
	{
		if( find(container.begin(),container.end(),zahl)==container.end() ) // Zahl gibts noch nicht im Container.
		{
			container.push_back( zahl ); // Zahl im Container abspeichern
			continue; // Sprung an Schleifenende
		}
		// ansonsten...
		++wie_oft_doppelt[zahl]; // In der Klammer [] gibst du den Key an. Der zurückgegebene Wert ist dann dein Wert.
		                        // Wenn du etwas erhöhen willst um 1, nimmst du ++. Der zurückgegebene Wert wird also um 1 erhöht.

		for(map&lt;int,unsigned&gt;::iterator it=wie_oft_doppelt.begin(); it!=wie_oft_doppelt.end(); ++it)
		{
			// Ein map-Eintrag besteht ja aus Key + Value. Weil das zusammengehört werden die beiden in ein std::pair gesteckt. Ein map-Eintrag ist also immer ein std::pair. pair.first = key, pair.second = value
			cout &lt;&lt; it-&gt;first &lt;&lt; &quot; ist &quot; &lt;&lt; it-&gt;second &lt;&lt; &quot;x zu viel.&quot; &lt;&lt; '\n';
		}
		cout &lt;&lt; '\n';
	}
}
</code></pre>
<p>Schau dir das mal an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412069</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 05 Aug 2014 09:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 10:08:07 GMT]]></title><description><![CDATA[<p>brak schrieb:</p>
<blockquote>
<pre><code>int SZ=12; //Spiegelzahl
int DZ=1; //Durchlaufzahl
int FZ=2; //Faktorzahl
int ZZ=0; //Zählerzahl
int TS=0;
vector&lt;int&gt;Container(0);//vector&lt;int&gt;NTTS(0); //NichttrivialeTeilersumme
</code></pre>
</blockquote>
<p>Wenn du schon solche Kommentare schreibst, warum nicht gleich</p>
<pre><code class="language-cpp">int Spiegelzahl=12;
int Durchlaufzahl=1;
int Faktorzahl=2;
int Zaehlerzahl=0;
int Teilerzahl=0;
vector&lt;int&gt; NichttrivialeTeilersumme(0);
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412072</guid><dc:creator><![CDATA[literateprogrammer]]></dc:creator><pubDate>Tue, 05 Aug 2014 10:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 10:12:31 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<pre><code>#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;map&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
	vector&lt;int&gt; container;
	map&lt;int,unsigned&gt; wie_oft_doppelt; // Versuch mal deine Typen an die menschliche Logik anzupassen. Wenn ich was zähle, lande ich mal nie unter 0.
	
	for(int zahl; cin&gt;&gt;zahl;) // Geben wir mal 5 6 8 3 2 7 9 65 3 67 84 3 65 ein
	{
		if( find(container.begin(),container.end(),zahl)==container.end() ) // Zahl gibts noch nicht im Container.
		{
			container.push_back( zahl ); // Zahl im Container abspeichern
			continue; // Sprung an Schleifenende
		}
		// ansonsten...
		++wie_oft_doppelt[zahl]; // In der Klammer [] gibst du den Key an. Der zurückgegebene Wert ist dann dein Wert.
		                        // Wenn du etwas erhöhen willst um 1, nimmst du ++. Der zurückgegebene Wert wird also um 1 erhöht.
		                        
		// Ausgabe mal ignoriert
	}
}
</code></pre>
<p>Schau dir das mal an.</p>
</blockquote>
<p>Warum O(n^2) statt O(n)?</p>
<pre><code class="language-cpp">for(int zahl; cin&gt;&gt;zahl;) {
  if (wie_oft_doppelt[zahl]++ == 0)
    container.push_back(zahl);
  // wie_of_doppelt[zahl]-1 gibt die Anzahl Duplikate, es wäre besser, die Variable
  // umzubenennen. 

  // Ausgabe mal ignoriert
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2412073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412073</guid><dc:creator><![CDATA[literateprogrammer]]></dc:creator><pubDate>Tue, 05 Aug 2014 10:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 11:09:09 GMT]]></title><description><![CDATA[<p>Danke, Danke, das muß ich erst mal durcharbeiten .... melde mich wieder ....</p>
<p>Du spielst mit dem Kommentar</p>
<blockquote>
<p>// Versuch mal deine Typen an die menschliche Logik anzupassen. Wenn ich was zähle, lande ich mal nie unter 0.</p>
</blockquote>
<p>offenbar darauf an</p>
<pre><code>vector&lt;int&gt;Container(0);/
</code></pre>
<p>Offen gestanden, ich weiss auch nicht, was die 0 da soll.<br />
Vector meint den Containertyp<br />
int meint den Variablentyp, hier integer<br />
Container ist der Name des Teils, bei dem es gerufen wird.</p>
<p>Was aber meint die Null? Was gehört an diese Stelle?</p>
<p>Ich vermute, die Zahl zeigt an, wieviel Elemente im Container vom Typ Vector sind, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412074</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Tue, 05 Aug 2014 11:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 12:29:06 GMT]]></title><description><![CDATA[<p>Ne. Meine Kommentare stehen schon in der richtigen Zeile, ich meine also</p>
<pre><code>map&lt;int,unsigned&gt; wie_oft_doppelt;
</code></pre>
<p>Du hattest aber</p>
<pre><code>map&lt;int,int&gt; wie_oft_doppelt;
</code></pre>
<p>Aber man zählt ja von 0 bis ultimo und nicht von -3467 bis ultimo. <code>unsigned</code> ist übrigens dasselbe wie <code>unsigned int</code> , nur eben eine kürzere Schreibweise.</p>
<p>Die Zahl gibt an, mit wie vielen Elementen dein vector vorbelegt sein soll. 0 ist natürlich sinnlos. Allgemein geb ich da nie eine Zahl an. Also einfach nur <code>vector&lt;int&gt;Container;</code> machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412094</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 05 Aug 2014 12:29:06 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 14:59:16 GMT]]></title><description><![CDATA[<p>Es endet jetzt mit Status 9 und läuft nicht in den von Dir gepusteten Teil ein, wofür ich Dir aber nicht die Schuld gebe, denn sicherlich habe ich was falsch adaptiert. Das Problem: Bei der Übernahme von so viel auf mal, komm ich mit dem Kapieren nicht hinterher ... Er macht Zählerzahl übrigens nicht durchgängig farbig, sondern nur den Anfangsbuchstaben. Was hat das zu bedeuten?</p>
<p>Das Cin im for ist mir auch neu (Wunder,Wunder)</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;vector&gt;
#include &lt;map&gt;
using namespace std;

int Spiegelzahl=12;
int Durchlaufzahl=1;
int Faktor=2;
int Zählerzahl=0;

vector&lt;int&gt;Container;//vector&lt;int&gt;NTTS(0); //NichttrivialeTeilersumme
//map&lt;int,int&gt;Zahlenindex; //erhält jede Zahl einen Zähler

int main(int argc, const char * argv[])
{
   std::map&lt;int,int&gt;Zahlenindex;
    std::map&lt;int,int&gt;::iterator it;
    map&lt;int,unsigned&gt; wie_oft_doppelt;

        for (Zählerzahl=1;Zählerzahl&lt;=10;Zählerzahl++)
        {
            Durchlaufzahl=Durchlaufzahl*Faktor;
            cout&lt;&lt;&quot;for  ZZ=&quot;&lt;&lt;Zählerzahl&lt;&lt;&quot; DZ=&quot;&lt;&lt;Durchlaufzahl&lt;&lt;&quot; ZI=&quot;&lt;&lt;Zahlenindex.find(Durchlaufzahl)-&gt;first&lt;&lt;&quot; \n&quot;;

           if (Durchlaufzahl&lt;=Spiegelzahl)
            {
            Durchlaufzahl=Spiegelzahl-Durchlaufzahl;
            std::cout&lt;&lt;&quot;if   ZZ=&quot;&lt;&lt;Zählerzahl&lt;&lt;&quot; DZ=&quot;&lt;&lt;Durchlaufzahl&lt;&lt;&quot;\n&quot;;
            }
           else
            {
            Durchlaufzahl=Durchlaufzahl-Spiegelzahl;
            cout&lt;&lt;&quot;else ZZ=&quot;&lt;&lt;Zählerzahl&lt;&lt;&quot; DZ=&quot;&lt;&lt;Durchlaufzahl&lt;&lt;&quot;\n&quot;;
            }
            std::cout&lt;&lt;&quot; = &quot;&lt;&lt;Durchlaufzahl&lt;&lt;&quot; ist Durchlaufzahl Runde=&quot;&lt;&lt;Zählerzahl&lt;&lt;&quot;.\n&quot;;

            for(int Durchlaufzahl; cin&gt;&gt;Durchlaufzahl;)
            {
                if( find(Container.begin(),Container.end(),Durchlaufzahl)==Container.end() )
                {
                    Container.push_back(Durchlaufzahl);
                    continue; // Sprung an Schleifenende
                }
                else
                ++wie_oft_doppelt[Durchlaufzahl]; // In der Klammer [] gibst du den Key an. Der zurückgegebene Wert ist dann dein Wert.

                for(map&lt;int,unsigned&gt;::iterator it=wie_oft_doppelt.begin(); it!=wie_oft_doppelt.end(); ++it)
                {
                    // Ein map-Eintrag besteht ja aus Key + Value. Weil das zusammengehört werden die beiden in ein std::pair gesteckt. Ein map-Eintrag ist also immer ein std::pair. pair.first = key, pair.second = value
                    cout &lt;&lt; it-&gt;first &lt;&lt; &quot; ist &quot; &lt;&lt; it-&gt;second &lt;&lt; &quot;x zu viel.&quot; &lt;&lt; '\n';
                }
                cout &lt;&lt; '\n';
            }
        }   
    for(auto it=Container.begin();it!=Container.end();it++)
    {
        cout&lt;&lt;*it;
        if( it!=Container.end()-1 )
            cout&lt;&lt;&quot; + &quot;;
    }
    std::cout&lt;&lt;&quot;\n&quot;;
    return (0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2412113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412113</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Tue, 05 Aug 2014 14:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 15:13:48 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Die Zahl gibt an, mit wie vielen Elementen dein vector vorbelegt sein soll. 0 ist natürlich sinnlos. Allgemein geb ich da nie eine Zahl an. Also einfach nur <code>vector&lt;int&gt;Container;</code> machen</p>
</blockquote>
<p>... und die Null bei return? Macht in dem Sinne keinen Sinn ...</p>
<p>Mich interessiert auch, warum er in Zeile 36 Durchlaufzahl einfärbt, in Zeile 39 aber nicht. Es ist doch jedesmahl eine Variable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412115</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Tue, 05 Aug 2014 15:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 19:24:52 GMT]]></title><description><![CDATA[<p>Ne, hast ja eh ne Endlosschleife gebaut. Bei mir kompiliert das aber eh nicht, bei dir etwa schon? Da kommt ein ä drin vor. Vielleicht musst du dein Programm mal nochmal von vorne angehen. Jetzt sieht alles zusammengewürfelt aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412151</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 05 Aug 2014 19:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 20:50:35 GMT]]></title><description><![CDATA[<p>Es läuft im Prinzip richtig auch wenn der Browser spinnt</p>
<pre><code>for(int Durchlaufzahl; cin&gt;&gt;Durchlaufzahl;)
</code></pre>
<p>Er sagt dazu: /Users/FOR/Desktop/Xcode/Lassoschleife/Lassoschleife/main.cpp:47:13: Type name requires a specifier or qualifier</p>
<p>Die Zeile kann ich nicht deuten. Es fehlt mir das 3. Element für den For-Befehl. Der Ausdruck sieht so aus:</p>
<blockquote>
<p>for ZZ=1 DZ=2 ZI=0<br />
if ZZ=1 DZ=10<br />
= 10 ist Durchlaufzahl Runde=1.<br />
I'm not herefor ZZ=2 DZ=20 ZI=0<br />
else ZZ=2 DZ=8<br />
= 8 ist Durchlaufzahl Runde=2.<br />
I'm not herefor ZZ=3 DZ=16 ZI=0<br />
else ZZ=3 DZ=4<br />
= 4 ist Durchlaufzahl Runde=3.<br />
I'm not herefor ZZ=4 DZ=8 ZI=0<br />
if ZZ=4 DZ=4<br />
= 4 ist Durchlaufzahl Runde=4.<br />
I'm not here4 ist 1x zu viel.</p>
<p>Program ended with exit code: 9</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2412155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412155</guid><dc:creator><![CDATA[brak]]></dc:creator><pubDate>Tue, 05 Aug 2014 20:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to indexieren: on Tue, 05 Aug 2014 22:33:11 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/200753" rel="nofollow">Häh, welcher Browser?</a> <a href="http://www.tty1.net/smart-questions_de.html" rel="nofollow">Wovon redest du?</a> Bei Fehlern <a href="http://www.c-plusplus.net/forum/304133" rel="nofollow">vollständige Minimalbeispiele</a> liefern.</p>
<blockquote>
<p>Es fehlt mir das 3. Element für den For-Befehl.</p>
</blockquote>
<p>Aber auch nur dir. Man muss nicht alle Elemente der for-Schleife ausfüllen. Wenn man an der Stelle nichts zu tun hat, lässt man es eben weg. Das ist hier so, weil <code>cin &gt;&gt; Durchlaufzahl</code> Aktion und Abbruchbedingung in einem ist. Daher hat man keine sinnvolle Besetzung des dritten for-Elements. Das ist so ähnlich als würde man</p>
<pre><code>for (int i = 0; ++i &lt; 10; )
</code></pre>
<p>schreiben statt</p>
<pre><code>for (int i = 1; i &lt; 10; ++i)
</code></pre>
<p>. Macht beides das gleiche (man beachte die unterschiedlichen Initialisierungswerte!), das Letztere ist aber lesbarer, daher macht man es so, wenn man die Wahl hat. Beim <code>cin &gt;&gt; Durchlaufzahl</code> hat man jedoch keine Wahl, da man sonst den Initialwert von Durchlaufzahl nicht sinnvoll hinbekommt.</p>
<p>Man kann natürlich auch alle anderen Elemente eines for weglassen. Beispielsweise oft in C gesehen (im alten C kann man Variablen nicht innerhalb eines for definieren!):</p>
<pre><code>int i = 0;
for(; i &lt; 10; ++i)
</code></pre>
<p>Oder die klassische Endlosschleife:</p>
<pre><code>for (;;)
</code></pre>
<p>(alter Scherz:</p>
<pre><code>#define ever (;;)

for ever
{
  // do something
}
</code></pre>
<p>)</p>
<blockquote>
<p>Es läuft <strong>im Prinzip richtig</strong></p>
</blockquote>
<p>Ich übersetze mal: Es ist falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2412159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2412159</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 05 Aug 2014 22:33:11 GMT</pubDate></item></channel></rss>