<?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[Problem beim Ändern des Inhalts eines Vectors(Anfänger)]]></title><description><![CDATA[<p>Da dies mein erster Post in diesem Forum ist erstmal ein Herzliches Hallo an alle!!</p>
<p>Zu meinem Problem:<br />
Ich habe in dem Vector&lt;string&gt; myTokens mehrere Wörter gespeichert z.B hamburg. Die einzelnen vector einträge möchte ich jetzt in die Form &quot;ha - hamburg&quot;. das heißt also die ersten beiden Buchstaben aussondern und mit einem Bindestrich davorstellen.</p>
<p>Mein Ansatz war nun die einzelnen Vector Positionen in einem String zwischenzuspeichern, abzuändern, und wieder in dem Vector zu speichern:</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
            {
                       string str;
                       str.insert(str.begin(),myTokens[1].substr(0,2));
                       str.insert(str.end(),&quot; - &quot;);
                       str.insert(str.end(),myTokens[i]);
                       myTokensi.assign(i,str);
            }
</code></pre>
<p>Hierbei bekomme ich aber beim compilieren mehrere Fehler, welche ich aber nicht genau durchblicke.<br />
Meine Frage wäre nun, was ist in meiner Ausarbeitung falsch und vielleicht ob ich komplett falsch denke und mein Ansatz schon schwachsinn ist?</p>
<p>Zum Überlick hier die gesamte Aufgabenstellung:</p>
<blockquote>
<p>Alle Worte eines Textes sollen aus einer Textdatei eingelesen<br />
und alle Buchstaben in Kleinbuchstaben verwandelt werden.<br />
Danach sollen die Worte sortiert und wieder ausgegeben werden.<br />
Interpunktionen und Zahlen werden dabei ignoriert. Die<br />
Ausgabe soll dabei nach den beiden Anfangsbuchstaben der<br />
Worte gruppiert werden. Innerhalb dieser Gruppen erfolgt die<br />
Ausgabe in umgekehrter alphanumerischer Reihenfolge. Doppelte<br />
Worte werden nur einmal mit der Häufigkeit ihres Auftretens<br />
ausgegeben.</p>
</blockquote>
<p>Wenn ihr mein komplettes Programm braucht sagt kurz bescheid, ich wollte eure Geduld erstmal nicht überstrapazieren.</p>
<p>Vielen Dank schon im Voraus!!!</p>
<p>Label</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261108/problem-beim-ändern-des-inhalts-eines-vectors-anfänger</link><generator>RSS for Node</generator><lastBuildDate>Sun, 31 May 2026 03:04:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261108.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Feb 2010 21:49:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sat, 13 Feb 2010 21:49:11 GMT]]></title><description><![CDATA[<p>Da dies mein erster Post in diesem Forum ist erstmal ein Herzliches Hallo an alle!!</p>
<p>Zu meinem Problem:<br />
Ich habe in dem Vector&lt;string&gt; myTokens mehrere Wörter gespeichert z.B hamburg. Die einzelnen vector einträge möchte ich jetzt in die Form &quot;ha - hamburg&quot;. das heißt also die ersten beiden Buchstaben aussondern und mit einem Bindestrich davorstellen.</p>
<p>Mein Ansatz war nun die einzelnen Vector Positionen in einem String zwischenzuspeichern, abzuändern, und wieder in dem Vector zu speichern:</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
            {
                       string str;
                       str.insert(str.begin(),myTokens[1].substr(0,2));
                       str.insert(str.end(),&quot; - &quot;);
                       str.insert(str.end(),myTokens[i]);
                       myTokensi.assign(i,str);
            }
</code></pre>
<p>Hierbei bekomme ich aber beim compilieren mehrere Fehler, welche ich aber nicht genau durchblicke.<br />
Meine Frage wäre nun, was ist in meiner Ausarbeitung falsch und vielleicht ob ich komplett falsch denke und mein Ansatz schon schwachsinn ist?</p>
<p>Zum Überlick hier die gesamte Aufgabenstellung:</p>
<blockquote>
<p>Alle Worte eines Textes sollen aus einer Textdatei eingelesen<br />
und alle Buchstaben in Kleinbuchstaben verwandelt werden.<br />
Danach sollen die Worte sortiert und wieder ausgegeben werden.<br />
Interpunktionen und Zahlen werden dabei ignoriert. Die<br />
Ausgabe soll dabei nach den beiden Anfangsbuchstaben der<br />
Worte gruppiert werden. Innerhalb dieser Gruppen erfolgt die<br />
Ausgabe in umgekehrter alphanumerischer Reihenfolge. Doppelte<br />
Worte werden nur einmal mit der Häufigkeit ihres Auftretens<br />
ausgegeben.</p>
</blockquote>
<p>Wenn ihr mein komplettes Programm braucht sagt kurz bescheid, ich wollte eure Geduld erstmal nicht überstrapazieren.</p>
<p>Vielen Dank schon im Voraus!!!</p>
<p>Label</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855198</guid><dc:creator><![CDATA[Label]]></dc:creator><pubDate>Sat, 13 Feb 2010 21:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sat, 13 Feb 2010 21:56:55 GMT]]></title><description><![CDATA[<p>Warum machst du es dir so unnötig schwer?</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
{

   if(myTokens[i].size()&gt;2)
   {
       string tmp( myTokens[i].begin(), myTokens[i].begin()+2 ); //erstelle string aus den ersten zwei Buchstaben aus myTokens
       myTokens[i] = tmp + &quot; - &quot; + myTokens[i];
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1855203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855203</guid><dc:creator><![CDATA[asdasd]]></dc:creator><pubDate>Sat, 13 Feb 2010 21:56:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sat, 13 Feb 2010 22:17:03 GMT]]></title><description><![CDATA[<p>Vielen dank, klappt einwandfrei.</p>
<p>Ich hab das so umständlich gemacht weil ich noch nicht so sicher mit C++ bin. Das verbunden mit einem ordentlichen Gehirnknoten ergibt so schöne Konstrukte.</p>
<p>Danke nochmal.</p>
<p>Label</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855212</guid><dc:creator><![CDATA[Label]]></dc:creator><pubDate>Sat, 13 Feb 2010 22:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sat, 13 Feb 2010 22:20:11 GMT]]></title><description><![CDATA[<p>Label schrieb:</p>
<blockquote>
<blockquote>
<p>Doppelte Worte werden nur einmal mit der Häufigkeit ihres Auftretens ausgegeben.</p>
</blockquote>
</blockquote>
<p>Hört sich stark nach einem Anwendungsgebiet für std::map an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855214</guid><dc:creator><![CDATA[asdasf]]></dc:creator><pubDate>Sat, 13 Feb 2010 22:20:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sat, 13 Feb 2010 22:24:39 GMT]]></title><description><![CDATA[<p>Hmm das könnte interessant werden, damit hab ich mich noch gar nicht Beschäftigt. Aber danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855216</guid><dc:creator><![CDATA[Label]]></dc:creator><pubDate>Sat, 13 Feb 2010 22:24:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sun, 14 Feb 2010 11:34:33 GMT]]></title><description><![CDATA[<p>Nachdem ich kleine veränderungen gemacht habe geht es nun doch nicht mehr.</p>
<p>asdasd schrieb:</p>
<blockquote>
<p>Warum machst du es dir so unnötig schwer?</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
{
   
   if(myTokens[i].size()&gt;2)
   {
       string tmp( myTokens[i].begin(), myTokens[i].begin()+2 ); //erstelle string aus den ersten zwei Buchstaben aus myTokens
       myTokens[i] = tmp + &quot; - &quot; + myTokens[i];
   }
}
</code></pre>
</blockquote>
<p>Ich hab das Problem jetzt wie folgt gelöst, aber der Fehler trat auch schon bei asdasd Lösung auf:</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
              myTokens2[i].assign( myTokens[i].begin(), myTokens[i].begin()+2);
</code></pre>
<p>Zwar compiliert er damit ohne fehler aber beim Ausführen stürzt das Programm etwa an der Stelle ab. Ich weiß aber leider nicht warum?</p>
<p>Edit:<br />
Ich habe den teil mal zur Überprüfung umgeschrieben:</p>
<pre><code class="language-cpp">for(size_t i=0;i&lt;myTokens.size();i++)
cout &lt;&lt;  myTokens[i] &lt;&lt; &quot;\n&quot;;

            for(size_t i = 0; i &lt; myTokens.size(); ++i)
            {
                       if(myTokens[i].size()&gt;2)
                       {
                                               string tmp( myTokens[i].begin(), myTokens[i].begin()+1 );
                                               myLetters[i] = tmp;
                       } cout &lt;&lt; myTokens[i]&lt;&lt; &quot; -&quot; &lt;&lt; myLetters[i] &lt;&lt; &quot;\n&quot;;   
            }
</code></pre>
<p>Zunächst wir &quot;myToken&quot; komplett ausgegeben, dann aber bei der ausgabe von &quot;myToken&quot; und &quot;myLetters&quot; wird nur der erste Punkt aus &quot;myToken&quot; und der Bindestrich ausgegeben und danach stürzt das Programm ab.</p>
<p>Edit2:<br />
Bei der Fehlersuche mit Dev C++ zeigt er mir an:</p>
<p>Eine zugriffsverletzung (Segmentation Fault) trat in Ihrem Programm auf.<br />
Label</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855318</guid><dc:creator><![CDATA[Label]]></dc:creator><pubDate>Sun, 14 Feb 2010 11:34:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Ändern des Inhalts eines Vectors(Anfänger) on Sun, 14 Feb 2010 13:24:23 GMT]]></title><description><![CDATA[<p>Ok da ich sowieso mit einem map Container weiter arbeite, hab ich das Problem wie folgt gelöst:</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; myTokens.size(); ++i)
            {
                       if(myTokens[i].size()&gt;1)
                       {
                                               string tmp( myTokens[i].begin(), myTokens[i].begin()+2 );
                                               myMap.insert(pair&lt;string,string&gt;(tmp,myTokens[i]));                //Die vectoren in dem map Container speichern
                       } 
            }
</code></pre>
<p>Aber trotzdem weiß ich nicht wieso es vorher mit dem 2. Vector nicht geklappt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1855400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1855400</guid><dc:creator><![CDATA[Label]]></dc:creator><pubDate>Sun, 14 Feb 2010 13:24:23 GMT</pubDate></item></channel></rss>