<?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[alle a&#x27;s in einem Text zählen]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Folgende Aufgabe möchte ich lösen: Ich habe einen Text als Input und möchte in diesem Text nun alle Buchstaben a zählen. Nun habe ich mal &quot;ganz klein&quot; begonnen und möchte entscheiden, wenn ich einen Buchstaben eingebe, ob dieser ein a ist oder nicht. Wenns kein Element im Input hat, dann möchte ich, dass das Programm &quot;hallo&quot; ausgibt. Dazu habe ich auch mal ein Programm geschrieben, voilà:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ios&gt;

int main()
{
  //Eingabe
  std::cin&gt;&gt;std::noskipws;

  int i=0;
  char letter = 'a';
  int counter=0;

  char*const t = new char [1];

    if(std::cin&gt;&gt;t[i])
    {
      if (t[i]==letter)
	{
	  ++counter;
    	}
    }
    else std::cout&lt;&lt;&quot;hallo&quot;; //Kein Input

  std::cout&lt;&lt;letter&lt;&lt;&quot;:&quot;&lt;&lt;counter&lt;&lt;&quot;of&quot;&lt;&lt;i+1&lt;&lt;&quot;.\n&quot;;

 delete [] t;

return 0;
}
</code></pre>
<p>So. Nun zum Problem: Wenn ich nichts als Input &quot;reingebe&quot;, dann gibt mir das Programm nicht &quot;hallo&quot; aus.... Warum ist mir ein Rätsel...Wisst ihrs?</p>
<p>Vielleicht ein kleiner Hinweis: Ich bin ein absoluter Anfänger. Vor zwei Monaten wusste ich nicht einmal was C++ ist...</p>
<p>Liebe Grüsse<br />
Rungo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/277612/alle-a-s-in-einem-text-zählen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 20:50:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/277612.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 21 Nov 2010 17:23:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:23:54 GMT]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Folgende Aufgabe möchte ich lösen: Ich habe einen Text als Input und möchte in diesem Text nun alle Buchstaben a zählen. Nun habe ich mal &quot;ganz klein&quot; begonnen und möchte entscheiden, wenn ich einen Buchstaben eingebe, ob dieser ein a ist oder nicht. Wenns kein Element im Input hat, dann möchte ich, dass das Programm &quot;hallo&quot; ausgibt. Dazu habe ich auch mal ein Programm geschrieben, voilà:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ios&gt;

int main()
{
  //Eingabe
  std::cin&gt;&gt;std::noskipws;

  int i=0;
  char letter = 'a';
  int counter=0;

  char*const t = new char [1];

    if(std::cin&gt;&gt;t[i])
    {
      if (t[i]==letter)
	{
	  ++counter;
    	}
    }
    else std::cout&lt;&lt;&quot;hallo&quot;; //Kein Input

  std::cout&lt;&lt;letter&lt;&lt;&quot;:&quot;&lt;&lt;counter&lt;&lt;&quot;of&quot;&lt;&lt;i+1&lt;&lt;&quot;.\n&quot;;

 delete [] t;

return 0;
}
</code></pre>
<p>So. Nun zum Problem: Wenn ich nichts als Input &quot;reingebe&quot;, dann gibt mir das Programm nicht &quot;hallo&quot; aus.... Warum ist mir ein Rätsel...Wisst ihrs?</p>
<p>Vielleicht ein kleiner Hinweis: Ich bin ein absoluter Anfänger. Vor zwei Monaten wusste ich nicht einmal was C++ ist...</p>
<p>Liebe Grüsse<br />
Rungo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983765</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:33:08 GMT]]></title><description><![CDATA[<p>Mein Tipp: Dein else sollte für die innere if gelten und nicht für die äußere.</p>
<p>Meinst du nicht, dass es etwas übertrieben ist, wegen einem Buchstaben auf dynamische Speicherverwaltung zurückzugreifen? <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/1983773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983773</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:38:48 GMT]]></title><description><![CDATA[<p>Ich glaube: Dein else ist schon richtig.</p>
<p>Du weisst halt nicht, wann <code>std::cin&gt;&gt;t[i]</code> false liefert. Bei einem Enter müsste in <code>t[i] '\n'</code> stehen, bei einem C-d (Linux) oder Strg-Z (imho Windows) hingegen müsste hallo ausgegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983780</guid><dc:creator><![CDATA[gnuro]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:46:33 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Also. Ich habe mal den Tipp mit dem else in die Tat umgesetzt und dann mal keinen Input reingegeben und natürlich kam das &quot;hallo&quot; auch sofort raus. Das Problem ist, wenn ich nun &quot;b&quot; eingebe kommt das &quot;hallo&quot; auch raus, was ich nicht will. Und die Antwort (sei mir nicht böse) von dir, gnuro, verstehe ich nicht wirklich...</p>
<p>Gruss<br />
Rungo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983784</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:46:33 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:53:39 GMT]]></title><description><![CDATA[<p>Darf ich mal nachfragen, wie du als Anfänger in C++ &quot;keinen Input&quot; eingibst?<br />
Vielleicht reden wir alle aneinander vorbei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983789</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:53:39 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 17:57:46 GMT]]></title><description><![CDATA[<p>Also: Ich gebe in der Konsole einfach nichts ein und drücke auf enter...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983791</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 17:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:02:18 GMT]]></title><description><![CDATA[<p>Das hat ja gnuro bereits beantwortet. Auch Enter ist ein Input und somit steht bei dir '\n' drin. Wenn du bei diesem Zeichen die Ausgabe hallo haben möchtest, dann musst du diese explizit in einem if abfragen:</p>
<pre><code class="language-cpp">std::cin&gt;&gt;t[i];

	if (t[i]==letter)
	{
		++counter;
	}
	else if(t[i] == '\n')
	{
		 std::cout&lt;&lt;&quot;hallo&quot;; //Kein Input
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983794</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:09:16 GMT]]></title><description><![CDATA[<p>Und es funktionniert. Merci für die schnelle 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/1983801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983801</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:32:18 GMT]]></title><description><![CDATA[<p>Du könntest auch gleich einen ganzen std::string einlesen und dann mit input.empty() schauen, ob du eine Leerzeile eingegeben hast. Das sollte weniger Probleme bereiten.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

int main()
{
    std::string input;
    unsigned int counter = 0;
    std::cin &gt;&gt; input;

    if(input.empty()) cout &lt;&lt; &quot;hallo\n&quot;;
    else
    {
        for(size_t i = 0; i &lt; input.size(); ++i) if(input[i] == 'a') ++counter;
        cout &lt;&lt; &quot;Sie haben &quot; &lt;&lt; counter &lt;&lt; &quot; mal den Buchstaben 'a' eingegeben&quot;;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983807</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:49:33 GMT]]></title><description><![CDATA[<p>Also. Ich bin schon auf das nächste Problem gestossen. Nun möchte ich alle a bis z in einem Text zählen. Dafür habe ich mein a-Programm etwas erweitert, voilà:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ios&gt;

int main()
{
  std::cin&gt;&gt;std::noskipws;

  char*const t = new char [1];
  for(char letter='a';letter&lt;='z';++letter) 
 {
   int i=0;
   int counter=0;
   for(;;++i)
     {
       if(std::cin&gt;&gt;t[i])
	 {
	   if (t[i]==letter)
	     {
	       ++counter;
	     }
	   else if(t[i]=='\n')break; //Input zu Ende
	 }
     }
  std::cout&lt;&lt;letter&lt;&lt;&quot;:&quot;&lt;&lt;counter&lt;&lt;&quot;of&quot;&lt;&lt;i&lt;&lt;&quot;.\n&quot;;

}  

 delete [] t; 
 return 0;
}
</code></pre>
<p>Das Problem: Für a gibts den richtigen Wert aus, für den Rest des Alphabets nicht mehr... Was ist falsch?</p>
<p>Gruss<br />
Rungo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983816</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:52:53 GMT]]></title><description><![CDATA[<p>oder noch besser die Größe <em>vor</em> der Schleife berechnen, damit .size( ) nur einmal aufgerufen wird. Wer weiß, wie lang der Text wird... <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">size_t inputSize = input.size( );
for(size_t i = 0; i &lt; inputSize; ++i)
{
    if(input[i] == 'a') ++counter;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983819</guid><dc:creator><![CDATA[minstaros]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:53:06 GMT]]></title><description><![CDATA[<p>Du liest in jeder Schleife ein.<br />
Mein Vorschlag:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

int main()
{
    std::string input;
    unsigned int counter = 0;
    std::cin &gt;&gt; input;

    if(input.empty()) cout &lt;&lt; &quot;hallo\n&quot;;
    else
    {
        for(char letter = 'a'; letter &lt;= 'z'; ++letter)
        {
            for(size_t i = 0; i &lt; input.size(); ++i) if(input[i] == letter) ++counter;
            cout &lt;&lt; &quot;Sie haben &quot; &lt;&lt; counter &lt;&lt; &quot; mal den Buchstaben '&quot; &lt;&lt; letter &lt;&lt; &quot;' eingegeben&quot;;
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983820</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:53:06 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:54:49 GMT]]></title><description><![CDATA[<p>Und einfach noch wegen der Vollständigkeit:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;algorithm&gt;

int main()
{
  std::string line;
  std::getline(std::cin, line);

  if(line.empty())
  {
    std::cout &lt;&lt; &quot;Hallo?\n&quot;;
  }
  else
  {
    int count = std::count(line.begin(), line.end(), 'a');
    std::cout &lt;&lt; &quot;Sie haben &quot; &lt;&lt; count &lt;&lt; &quot; mal den Buchstaben a eingegeben.\n&quot;
  }
}
</code></pre>
<p>@Rungo,<br />
Gerade noch in der Vorschau gesehen. Du kannst aus dem Stream nur einmal lesen. Was du einmal gelesen hast, ist auch eingelesen. Oder meinst du ein anderes Problem? Dann präzisiere die Problembeschreibung bitte.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983821</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 18:56:26 GMT]]></title><description><![CDATA[<p>minstaros schrieb:</p>
<blockquote>
<p>oder noch besser die Größe <em>vor</em> der Schleife berechnen, damit .size( ) nur einmal aufgerufen wird. Wer weiß, wie lang der Text wird... <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>
</blockquote>
<p>Ein Kompiler wird das höchstwahrscheinlich selber wegoptimieren. Das sind unnötige Mikrooptimierungen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983822</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 21 Nov 2010 18:56:26 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:03:46 GMT]]></title><description><![CDATA[<p>Moment mal... hier ist eine Universal-Statistik-Lösung:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

#define CHAR_MAX_VALUE (255)

int main()
{
    std::string input;
    unsigned int letter_statistics[CHAR_MAX_VALUE];

    //initialisieren mit 0
    for(size_t i = 0; i &lt; CHAR_MAX_VALUE; ++i) letter_statistics[i] = 0;

    std::cin &gt;&gt; std::noskipws &gt;&gt; input;

    if(input.empty()) cout &lt;&lt; &quot;hallo\n&quot;;
    else
    {
        for(size_t i = 0; i &lt; input.size(); ++i) ++letter_statistics[(int)input[i&rsqb;&rsqb;;
        for(size_t i = 0; i &lt; CHAR_MAX_VALUE; ++i) cout &lt;&lt; (char)i &lt;&lt; &quot;: &quot; &lt;&lt; letter_statistics[i] &lt;&lt; &quot;\n&quot;;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983823</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:03:46 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:03:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23670">@wxSkip</a>: Du hast 2 Schleifen verschachtelt, das heißt, das Ding läuft für jeden Buchstaben 26x durch.</p>
<p>Was hilft ist die Bibliothek:</p>
<pre><code class="language-cpp">#include &lt;cctype&gt;

...

for(  ...  )    if( islower( input[ i } ) ++counter;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983825</guid><dc:creator><![CDATA[minstaros]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:06:29 GMT]]></title><description><![CDATA[<p>minstaros schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23670">@wxSkip</a>: Du hast 2 Schleifen verschachtelt, das heißt, das Ding läuft für jeden Buchstaben 26x durch.</p>
<p>Was hilft ist die Bibliothek:</p>
<pre><code class="language-cpp">#include &lt;cctype&gt;

...

for(  ...  )    if( islower( input[ i } ) ++counter;
</code></pre>
</blockquote>
<p>Ich wollte auch, dass das 26 mal durchläuft, so sah das zumindest bei Rungo aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983826</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:17:39 GMT]]></title><description><![CDATA[<p>wxSkip schrieb:</p>
<blockquote>
<p>Ich wollte auch, dass das 26 mal durchläuft, so sah das zumindest bei Rungo aus.</p>
</blockquote>
<p>Du hast recht, hab mir da nur die neue &quot;Aufgabenstellung&quot; durchgelesen und war im Kopf noch bei der Einmal-über-alle-Input-Buchstaben-Schleife. Diese reicht ja auch aus, wenn man für jeden Buchstaben nur prüft, ob er zwischen 'a' und 'z' liegt (oder kurz eben islower( ) ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983833</guid><dc:creator><![CDATA[minstaros]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:23:00 GMT]]></title><description><![CDATA[<p>minstaros schrieb:</p>
<blockquote>
<p>wxSkip schrieb:</p>
<blockquote>
<p>Ich wollte auch, dass das 26 mal durchläuft, so sah das zumindest bei Rungo aus.</p>
</blockquote>
<p>Du hast recht, hab mir da nur die neue &quot;Aufgabenstellung&quot; durchgelesen und war im Kopf noch bei der Einmal-über-alle-Input-Buchstaben-Schleife. Diese reicht ja auch aus, wenn man für jeden Buchstaben nur prüft, ob er zwischen 'a' und 'z' liegt (oder kurz eben islower( ) ).</p>
</blockquote>
<p>Hm, geht es um das Zählen von <em>allen</em> a-z (Gesamtsumme) oder um jeden Buchstaben <em>einzeln</em>? Im letzteren Fall ist die Statistiklösung natürlich richtig... Ich geh jetzt lieber was essen... Weiter viel Spaß! <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/1983835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983835</guid><dc:creator><![CDATA[minstaros]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:23:00 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:31:14 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich melde mich auch wieder einmal zu Wort. Leider verstehe ich nicht viel von euren Vorschlägen und es ist mir bewusst, dass ich für jeden Buchstaben nochmals den ganzen Input einlese, was nicht sonderlich elegannt ist, klar. Wie könnte ich mein Programm (siehe den letzen meiner Beiträge) in dieser Form trotzdem zum laufen kriegen? Ich bin einfach daran interessiert, wo mein Fehler liegt.</p>
<p>Liebe Grüsse<br />
Rungo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983839</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:34:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char*const t = new char [1];
</code></pre>
<p>Was soll das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983843</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:39:25 GMT]]></title><description><![CDATA[<p>Naja. Ich konstruiere mir ein array der Länge 1, in das ich nach und nach die Werte einlese... (Erklärung eines Anfängers). Evtl könnte man das natürlich anders lösen, aber soweit ich das richtig sehe, funktionierts...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983847</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:42:22 GMT]]></title><description><![CDATA[<p>Rungo schrieb:</p>
<blockquote>
<p>Naja. Ich konstruiere mir ein array der Länge 1, in das ich nach und nach die Werte einlese... (Erklärung eines Anfängers). Evtl könnte man das natürlich anders lösen, aber soweit ich das richtig sehe, funktionierts...</p>
</blockquote>
<p>Ja, aber es ist einfach unleserlich. Nimm lieber einen stinknormalen char.<br />
Wie ich schon geschrieben habe, liegt der Fehler daran, dass du in jeder Schleife neu die Buchstaben einliest. Was genau verstehst du an meinen beiden Programmen nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983849</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 19:50:48 GMT]]></title><description><![CDATA[<p>Du benötigst irgendwas von string input und so. Irgenwie kann ich schon erahnen, wie es funktioniert, obwohl ich soetwas noch nie gesehen habe, allerdings darf ich das auch noch gar nicht benutzen, da dies eine Aufgabe für die Schule ist. Wieso funktionnierts denn nicht, wenn ich in jeder Schleife neu einlese?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983855</guid><dc:creator><![CDATA[Rungo]]></dc:creator><pubDate>Sun, 21 Nov 2010 19:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 20:39:04 GMT]]></title><description><![CDATA[<p>Rungo schrieb:</p>
<blockquote>
<p>Du benötigst irgendwas von string input und so. Irgenwie kann ich schon erahnen, wie es funktioniert, obwohl ich soetwas noch nie gesehen habe, allerdings darf ich das auch noch gar nicht benutzen, da dies eine Aufgabe für die Schule ist. Wieso funktionnierts denn nicht, wenn ich in jeder Schleife neu einlese?</p>
</blockquote>
<p>OK. Dürft ihr char-Arrays, also C-Strings verwenden?<br />
Was gibt std::cin&gt;&gt;t[i] zurück?<br />
Wenn es tatsächlich so funktioniert wie du es willst, liest du Zeichen bis zu einem Zeilenumbruch ein und überprüfst sie auf dem Buchstaben a. Die nächste Zeile überprüfst du auf den Buchstaben b usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1983868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983868</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sun, 21 Nov 2010 20:39:04 GMT</pubDate></item><item><title><![CDATA[Reply to alle a&#x27;s in einem Text zählen on Sun, 21 Nov 2010 21:00:48 GMT]]></title><description><![CDATA[<p>Hab da mal was zusammengepfuscht. Gar nicht leicht, wenn man nix hinzuverwenden darf <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>- Achtung: Grossbuchstaben kannst du dir selber was noch dazudenken <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 />
- Und schau dir mal die Ascii-Tabelle an</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
	char input[500];
	const char *seek = input;
	int cntAll = 0;
	// ein Array, weil ja jeder Buchstabe gezaehlt werden soll
	int cntLetter[26];

	// Array mit 0 vorfuellen, damit man irgendwo mit zaehlen beginnen kann
	for(int i=0; i&lt;26; ++i)
		cntLetter[i] = 0;

	// Text einlesen (inc Leerzeichen)
	std::cin.getline(input, 500);

	// nochmal anschauen ;)
	std::cout &lt;&lt; input &lt;&lt; std::endl;

	// solange loopen, bis das Terminierungszeichen \0 erreicht ist
	while(*seek)
	{
		// Buchstabe nochmal ausgeben zum pruefen
		std::cout &lt;&lt; *seek &lt;&lt; std::endl;

		// Jeden Buchstaben zaehlen
		cntAll++;

		// Spagetti-Methode
// ENTWEDER
		if(*seek == 'a')
			cntLetter[0]++;
		if(*seek == 'b')
			cntLetter[1]++;
// ODER
		// Ansonsten geht auch
		// 'b'-'a' = 98-97 = 1 ... somit cntLetter[1] erhoehen
		// !!Achtung index noch pruefen von 0-25
		int index = *seek - 'a';
		cntLetter[index]++;

		// Zeiger auf den naechsten Buchstaben
		seek++;
	}

	// Ausgabe des Zaehlergebnisses
	for(int i=0; i&lt;26; ++i)
		// Buchstabe 'a' hat im Ascii-Zeichensatz die 97 ... drum 97+0=a / 97+1=b usw.
		std::cout &lt;&lt; static_cast&lt;char&gt;(i+'a') &lt;&lt; &quot;:&quot; &lt;&lt; cntLetter[i] &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1983880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1983880</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sun, 21 Nov 2010 21:00:48 GMT</pubDate></item></channel></rss>