<?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[Map = Array + Struktur]]></title><description><![CDATA[<p>Hallo Forum Mitglieder,<br />
ich suche nach einer Lösung eine Map zu erstellen die aus einem Array und einer Struktur besteht.<br />
Meine bisherigen versuche Ergaben so etwas:</p>
<pre><code class="language-cpp">int a[5];
struct Artikel {
char artikel[20];
double preis;
};
map&lt;int,Artikel&gt;MapArtikel;
</code></pre>
<p>Werte habe ich dann in einer schleife so eingetragen:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel;
</code></pre>
<p>(Artikel ist in dem fall ein in der schleife erzeugtes objekt)</p>
<p>Map:<br />
Array -&gt; Struktur<br />
[0]=1 -&gt; a,1<br />
[1]=2 -&gt; b,2<br />
[2]=3 -&gt; c,3<br />
[3]=4 -&gt; d,4<br />
[4]=5 -&gt; e,5</p>
<p>soweit so gut ...<br />
nur jetzt soll es doppelte einträge im artikel[20] geben.<br />
wenn ich aber jetzt zb in der schleife beim 5ten durchlauf<br />
anstatt:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel(e,5);
</code></pre>
<p>das hier ausführe:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel(a,4);
</code></pre>
<p>kommt das hier raus:<br />
Map:<br />
Array -&gt; Struktur<br />
[0]=1 -&gt; a,4<br />
[1]=2 -&gt; b,2<br />
[2]=3 -&gt; c,3<br />
[3]=4 -&gt; d,4<br />
[4]=5 -&gt; a,4</p>
<p>er überschreibt mir die erste zuweisung ...<br />
weiß da wer wie ich das verhindern kann?<br />
MfG Jan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293808/map-array-struktur</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 04:01:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293808.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Oct 2011 11:56:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:02:12 GMT]]></title><description><![CDATA[<p>Hallo Forum Mitglieder,<br />
ich suche nach einer Lösung eine Map zu erstellen die aus einem Array und einer Struktur besteht.<br />
Meine bisherigen versuche Ergaben so etwas:</p>
<pre><code class="language-cpp">int a[5];
struct Artikel {
char artikel[20];
double preis;
};
map&lt;int,Artikel&gt;MapArtikel;
</code></pre>
<p>Werte habe ich dann in einer schleife so eingetragen:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel;
</code></pre>
<p>(Artikel ist in dem fall ein in der schleife erzeugtes objekt)</p>
<p>Map:<br />
Array -&gt; Struktur<br />
[0]=1 -&gt; a,1<br />
[1]=2 -&gt; b,2<br />
[2]=3 -&gt; c,3<br />
[3]=4 -&gt; d,4<br />
[4]=5 -&gt; e,5</p>
<p>soweit so gut ...<br />
nur jetzt soll es doppelte einträge im artikel[20] geben.<br />
wenn ich aber jetzt zb in der schleife beim 5ten durchlauf<br />
anstatt:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel(e,5);
</code></pre>
<p>das hier ausführe:</p>
<pre><code class="language-cpp">MapArtikel[a[i&rsqb;&rsqb; = Artikel(a,4);
</code></pre>
<p>kommt das hier raus:<br />
Map:<br />
Array -&gt; Struktur<br />
[0]=1 -&gt; a,4<br />
[1]=2 -&gt; b,2<br />
[2]=3 -&gt; c,3<br />
[3]=4 -&gt; d,4<br />
[4]=5 -&gt; a,4</p>
<p>er überschreibt mir die erste zuweisung ...<br />
weiß da wer wie ich das verhindern kann?<br />
MfG Jan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129949</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:02:12 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:02:10 GMT]]></title><description><![CDATA[<p>In einer map kann ein Schlüssel nur einmal vorkommen. Nimm eine multimap, dort können Schlüssel mehrmals mit unterschiedlichen Werten vorkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129954</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:04:41 GMT]]></title><description><![CDATA[<p>Willkommen im Forum. Neben dem Tip von Belli noch ein Hinweis: Nutze bitte die Code-Tags, damit man deinen Code leichter lesen kann. Lies dir gerne auch die mit <strong>wichtig</strong> gekennzeichneten Threads im Forum durch, um weitere gern begangene Einsteigerfehler zu vermeiden und schnellere und bessere Antworten zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129958</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:04:41 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:06:48 GMT]]></title><description><![CDATA[<p>Ich verstehe das Problem nicht. Wozu ist a gut? Was bedeutet Artikel(e,5)? Wo kommt was wann raus und was willst Du stattdessen haben? Wie sieht der Code (oder ein kompilierbares Minimalbeispiel!) wirklich aus? Was willst Du <em>eigentlich</em> machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129960</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:07:04 GMT]]></title><description><![CDATA[<p>Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129961</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 12:09:32 GMT]]></title><description><![CDATA[<p>danke für die schnellen antorten <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="🙂"
    /><br />
ich werde die multimap direkt ausprobieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129963</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Tue, 11 Oct 2011 12:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Tue, 11 Oct 2011 14:47:25 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?</p>
</blockquote>
<p>Ja. Und? Es können sogar keys mehrfach vorkommen, im Gegensatz zur map. Er benutzt hier ne map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130049</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 11 Oct 2011 14:47:25 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:24:46 GMT]]></title><description><![CDATA[<p>so ich habe mein programm jetzt auf multimap umgeschrieben.<br />
jetzt will ich mir zb die folgenden 3 einträge ausgeben lassen :</p>
<p>MultiMap:<br />
Array -&gt; Struktur<br />
[0]=1 -&gt; a,1<br />
[1]=1 -&gt; a,2<br />
[2]=1 -&gt; a,3</p>
<p>mein versuch:</p>
<pre><code class="language-cpp">for(int h =0 ; h &lt;= 3 ; h++)	{									
cout&lt;&lt;multimap.find(A[h])-&gt;second.artikel &lt;&lt; &quot; , &quot; &lt;&lt; 
&lt;&lt;multimap.find(A[h])-&gt;second.preis 
&lt;&lt; endl;				
}
</code></pre>
<p>meine ausgabe sieht aber wie folgt aus :</p>
<p>a , 1<br />
a , 1<br />
a , 1</p>
<p>wie kann ich mir jetzt die verschiedenen werte ausgeben lassen??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130287</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:24:46 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:27:24 GMT]]></title><description><![CDATA[<p>Die Ausgabe sieht schon richtig aus. Nur wie du jetzt deine Eingabe in die multimap gestaltet hast, zeigst du uns ja nicht. Und auf wildes raten habe ich grade wenig Lust...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130289</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:27:24 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:31:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for(int i = 1 ; i &lt;= 4 ; i++)
{
a.artikel = &quot;a&quot;;
a.preis = i;
A[i] = 1
multimap.insert(pair&lt;unsigned int,Artikel&gt;(A[i], a));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2130291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130291</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:31:41 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:32:47 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?</p>
</blockquote>
<p>werte können auch in einer map beliebig oft vorkommen, aber schlüssel halt nur einmal.</p>
<p>und in de rmultimap kann beides beliebig vorkommen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130293</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:32:47 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:40:37 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for(int h =0 ; h &lt;= 3 ; h++)	{									
cout&lt;&lt;multimap.find(A[h])-&gt;second.artikel &lt;&lt; &quot; , &quot; &lt;&lt; 
&lt;&lt;multimap.find(A[h])-&gt;second.preis 
&lt;&lt; endl;				
}
</code></pre>
</blockquote>
<pre><code class="language-cpp">typedef multimap&lt;unsigned,Artikel&gt; iter;
// Alle Einträge für Key==1 ausgeben
pair&lt;iter,iter&gt; Range = mm.equal_range( 1 );
for ( ; Range.first!=Range.second; ++Range.first )
    cout &lt;&lt; Range.first &lt;&lt; &quot; &quot; &lt;&lt; Range.second &lt;&lt; &quot;\n&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2130296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130296</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:40:37 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:44:10 GMT]]></title><description><![CDATA[<p>Bei einer multimap bietet sich doch equal_range an.</p>
<pre><code class="language-cpp">void print(const multimap&lt;int,Artikel&gt;&amp; m, int key)
{
  typedef multimap&lt;int,Artikel&gt;::const_iterator I;
  pair&lt;I,I&gt; p = m.equal_range(key);
  for(I i=p.first;i!=p.second();++i)
  {
    // Ausgabe
  }
}
</code></pre>
<p>Natürlich ungetestet.</p>
<p>Die Lösung kam ja schon, sehe ich gerade, naja, das Auslagern in eine Funktion erscheint mir dennoch nützlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130299</guid><dc:creator><![CDATA[Hmmh]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:44:10 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 07:45:17 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>[bla]</p>
</blockquote>
<p>Siehe <a href="http://www.c-plusplus.net/forum/200753" rel="nofollow">http://www.c-plusplus.net/forum/200753</a><br />
Beachte besonders den vorletzten Punkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130300</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 12 Oct 2011 07:45:17 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 08:47:01 GMT]]></title><description><![CDATA[<p>ich habe mich jetzt etwas eingearbeitet aber ich bekomme es einfach nicht hin ...<br />
er gibt mir immer nur den ersten Wert aus, also &quot;1&quot;</p>
<pre><code class="language-cpp">typedef multimap&lt;unsigned int,Artikel&gt;::const_iterator IT;	
pair&lt;IT,IT&gt; p = mm.equal_range(A[0]);
for(;p.first != p.second; ++p.first)
	 {
		 filetxt &lt;&lt; (p.second)-&gt;second.preis &lt;&lt;endl;
	  }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2130323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130323</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 12 Oct 2011 08:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 08:49:08 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?</p>
</blockquote>
<p>werte können auch in einer map beliebig oft vorkommen, aber schlüssel halt nur einmal.</p>
<p>und in de rmultimap kann beides beliebig vorkommen...</p>
</blockquote>
<p>Irgendwie sogar irgendwie logisch. Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130326</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 12 Oct 2011 08:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 09:28:12 GMT]]></title><description><![CDATA[<p>janmerkschien schrieb:</p>
<blockquote>
<p>...aber ich bekomme es einfach nicht hin...</p>
</blockquote>
<p>Es wäre mal wieder Zeit für ein <em>komplettes Minimalbeispiel</em> und einer Erklärung, was das ganze eigentlich sein/leisten soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2130350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130350</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 12 Oct 2011 09:28:12 GMT</pubDate></item><item><title><![CDATA[Reply to Map = Array + Struktur on Wed, 12 Oct 2011 10:06:47 GMT]]></title><description><![CDATA[<p>hab jetzt ne lösung danke für eure hilfe <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/2130373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130373</guid><dc:creator><![CDATA[janmerkschien]]></dc:creator><pubDate>Wed, 12 Oct 2011 10:06:47 GMT</pubDate></item></channel></rss>