<?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[Anagramme finden &#x2F; Map Zugriff]]></title><description><![CDATA[<p>Halle Leute,<br />
ich mache grad ein kleines Programm das von einem eingegebenen Text alle Anagramme findet und die Wörter ausgibt. Klappt auch soweit ganz gut, aber ich schaffe es einfach nicht das er mir NUR die Anagramme ausgibt, sondern er gibt auch alle einzelnen Wörter aus die keine Anagramme haben. Hier mal mein Code bisher:</p>
<pre><code class="language-cpp">int main(int argc, char *argv[])
{
 using namespace std;

  typedef map&lt; string, string &gt; map;

   map m;

  while( !cin.eof() )
  {
         string s;
         string v;
         cin &gt;&gt; s ;

         transform(s.begin(), s.end(), s.begin(), ::tolower);

         v=s;

         stable_sort(s.begin(), s.end()); 

         if( !cin.eof() )

      m[s] += v;
      m[s] += &quot; &quot;;

   } 

   for( map::iterator i = m.begin();
   i != m.end(); ++i)
   {

     cout &lt;&lt; i-&gt;second &lt;&lt; &quot; &quot; &lt;&lt; endl;   

   }

     getchar();

     return 0;
}
</code></pre>
<p>ich brauche da sicher ne Schleife oder so das nur die ausgegeben werden die mehr als 2 werte haben, aber irgendwie komm ich nciht drauf wo und wie und mehrere Versuche scheiterten bereits.</p>
<p>Hoffe jemand kann mir helfen, bin noch Anfänger <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>Gruß<br />
Emperor</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269301/anagramme-finden-map-zugriff</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 08:55:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269301.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2010 20:34:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anagramme finden &#x2F; Map Zugriff on Tue, 22 Jun 2010 20:34:08 GMT]]></title><description><![CDATA[<p>Halle Leute,<br />
ich mache grad ein kleines Programm das von einem eingegebenen Text alle Anagramme findet und die Wörter ausgibt. Klappt auch soweit ganz gut, aber ich schaffe es einfach nicht das er mir NUR die Anagramme ausgibt, sondern er gibt auch alle einzelnen Wörter aus die keine Anagramme haben. Hier mal mein Code bisher:</p>
<pre><code class="language-cpp">int main(int argc, char *argv[])
{
 using namespace std;

  typedef map&lt; string, string &gt; map;

   map m;

  while( !cin.eof() )
  {
         string s;
         string v;
         cin &gt;&gt; s ;

         transform(s.begin(), s.end(), s.begin(), ::tolower);

         v=s;

         stable_sort(s.begin(), s.end()); 

         if( !cin.eof() )

      m[s] += v;
      m[s] += &quot; &quot;;

   } 

   for( map::iterator i = m.begin();
   i != m.end(); ++i)
   {

     cout &lt;&lt; i-&gt;second &lt;&lt; &quot; &quot; &lt;&lt; endl;   

   }

     getchar();

     return 0;
}
</code></pre>
<p>ich brauche da sicher ne Schleife oder so das nur die ausgegeben werden die mehr als 2 werte haben, aber irgendwie komm ich nciht drauf wo und wie und mehrere Versuche scheiterten bereits.</p>
<p>Hoffe jemand kann mir helfen, bin noch Anfänger <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>Gruß<br />
Emperor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916014</guid><dc:creator><![CDATA[TheEmperor]]></dc:creator><pubDate>Tue, 22 Jun 2010 20:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Anagramme finden &#x2F; Map Zugriff on Tue, 22 Jun 2010 21:28:20 GMT]]></title><description><![CDATA[<p>Hallo TheEmperor,</p>
<p>willkommen im C++-Forum.</p>
<p>zu Deinem Problem: wenn Du nur die Wörter haben möchtest, für die Anagramme gibt, so musst Du nach Ende der Eingabe bzw. bei bei der Ausgabe feststellen, ob Du zu einem Schlüssel mehr als ein Wort hinterlegt hast.</p>
<p>Das wiederum geht einfacher, wenn Du statt des Aneinanderreihens der Wörter einen eigenen Container benutzt.<br />
Also</p>
<pre><code class="language-cpp">typedef map&lt; string, vector&lt; string &gt; &gt; map;
</code></pre>
<p>und dann in Zeile 26</p>
<pre><code class="language-cpp">m[s].push_back( v );
</code></pre>
<p>Zeile 27 kann man dann weglassen. Und ab Zeile 33 geht es dann so weiter</p>
<pre><code class="language-cpp">for( map::iterator i = m.begin();
        i != m.end(); ++i)
    {
        if( i-&gt;second.size() &gt; 1 ) // Anagramme vorhanden?
        {
            copy( i-&gt;second.begin(), i-&gt;second.end(), ostream_iterator&lt; string &gt;( cout, &quot; &quot; ) );
            cout &lt;&lt; endl;
        }
    }
</code></pre>
<p>Du benötigst dazu noch die includes &lt;iterator&gt; und &lt;vector&gt;.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916026</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anagramme finden &#x2F; Map Zugriff on Tue, 22 Jun 2010 21:39:49 GMT]]></title><description><![CDATA[<p>hat funktioniert...hatte mir sowas schon gedacht (hatte es vorher schonmal mit nem set versucht statt vector), aber die umsetzung hat nicht ganz geklappt <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>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916030</guid><dc:creator><![CDATA[TheEmperor]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:39:49 GMT</pubDate></item></channel></rss>