<?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 array durchsuchen]]></title><description><![CDATA[<p>Habe es etwas unschön gelöst.. Wie kann ich den Array mithilfe einer schleife durchsuchen??? Die Aufgabenstellung verlangt auch oben bei der EIngabeüberprüfung, das man nur die richtigen werte im array speichert... Wie geht das??? Und nach der Eingabe soll sofort eine Ausgabe in form eines histograms erfolgen.. (wie oft was eingegeben wurde) !<br />
gruß</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;math.h&gt;
#include &lt;conio.h&gt;
using namespace std;

int main(void)
{
int feld[10];
double feld2[10];
int i = 0, n = 0;

do
{
    cout &lt;&lt; &quot;Eingabe: &quot;;
    cin &gt;&gt; feld2[i];

    if(feld2[i] != int(feld2[i]))
    {
               cout &lt;&lt; &quot;Nicht korrekt. &quot;;    
    }
    else if(feld2[i] &lt; 10)
    {
               cout &lt;&lt; &quot;Eingabe zu klein. &quot;;

    }
    else if(feld2[i] &gt; 20)
    {
               cout &lt;&lt; &quot;Eingabe zu gross. &quot;;

    }
    feld[i] = int(feld2[i]);
    i = i + 1;
}
while(i &lt; 10);

int histogramm[10] = {0,0,0,0,0,0,0,0,0,0};
int zehn=10,elf=11;

i = 0;

while(i &lt; 10)
{
                 if(feld[i] == zehn)
                 {
                   histogramm[i] = histogramm[i] + 1;
                 }   
                 else if(feld[i] == elf)
                 {
                      histogramm[i+1] = histogramm[i+1] + 1;
                 }
                 i++;

}         
cout &lt;&lt; &quot;Die &quot; &lt;&lt; zehn &lt;&lt; &quot;wurde &quot; &lt;&lt; histogramm[0] &lt;&lt; &quot; eingegeben.&quot;;
cout &lt;&lt; &quot;Die &quot; &lt;&lt; elf  &lt;&lt; &quot;wurde &quot; &lt;&lt; histogramm[1] &lt;&lt; &quot; eingegeben.&quot;;

cout &lt;&lt; endl;

system(&quot;pause&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/200893/problem-beim-array-durchsuchen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 19:42:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200893.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Dec 2007 00:36:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 00:36:46 GMT]]></title><description><![CDATA[<p>Habe es etwas unschön gelöst.. Wie kann ich den Array mithilfe einer schleife durchsuchen??? Die Aufgabenstellung verlangt auch oben bei der EIngabeüberprüfung, das man nur die richtigen werte im array speichert... Wie geht das??? Und nach der Eingabe soll sofort eine Ausgabe in form eines histograms erfolgen.. (wie oft was eingegeben wurde) !<br />
gruß</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;math.h&gt;
#include &lt;conio.h&gt;
using namespace std;

int main(void)
{
int feld[10];
double feld2[10];
int i = 0, n = 0;

do
{
    cout &lt;&lt; &quot;Eingabe: &quot;;
    cin &gt;&gt; feld2[i];

    if(feld2[i] != int(feld2[i]))
    {
               cout &lt;&lt; &quot;Nicht korrekt. &quot;;    
    }
    else if(feld2[i] &lt; 10)
    {
               cout &lt;&lt; &quot;Eingabe zu klein. &quot;;

    }
    else if(feld2[i] &gt; 20)
    {
               cout &lt;&lt; &quot;Eingabe zu gross. &quot;;

    }
    feld[i] = int(feld2[i]);
    i = i + 1;
}
while(i &lt; 10);

int histogramm[10] = {0,0,0,0,0,0,0,0,0,0};
int zehn=10,elf=11;

i = 0;

while(i &lt; 10)
{
                 if(feld[i] == zehn)
                 {
                   histogramm[i] = histogramm[i] + 1;
                 }   
                 else if(feld[i] == elf)
                 {
                      histogramm[i+1] = histogramm[i+1] + 1;
                 }
                 i++;

}         
cout &lt;&lt; &quot;Die &quot; &lt;&lt; zehn &lt;&lt; &quot;wurde &quot; &lt;&lt; histogramm[0] &lt;&lt; &quot; eingegeben.&quot;;
cout &lt;&lt; &quot;Die &quot; &lt;&lt; elf  &lt;&lt; &quot;wurde &quot; &lt;&lt; histogramm[1] &lt;&lt; &quot; eingegeben.&quot;;

cout &lt;&lt; endl;

system(&quot;pause&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424209</guid><dc:creator><![CDATA[fhstudent]]></dc:creator><pubDate>Fri, 21 Dec 2007 00:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 08:34:19 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424261</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 21 Dec 2007 08:34:19 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 08:52:01 GMT]]></title><description><![CDATA[<p>Wirf doch mal einen genaueren Blick auf deine Schleife: wenn in feld[i] der Wert 10 steht, wird histogramm[i] um 1 erhöht - später liest du aber den Inhalt von histogramm[0] aus (dort steht nur drin, ob in feld[0] eine 10 stand).</p>
<p>Besser:</p>
<pre><code class="language-cpp">while(i &lt; 10)
{
    if(feld[i] == zehn)
    {
        histogramm[0] = histogramm[0] + 1;
    }   
    else if(feld[i] == elf)
    {
        histogramm[1] = histogramm[1] + 1;
    }
    i++;                  
}
</code></pre>
<p>(noch kürzer wäre es, wenn du += oder ++ verwendest)</p>
<p>PS: Wozu brauchst du ein Array mit 10 Elementen, wenn du doch nur die ersten beiden verwendest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424271</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Dec 2007 08:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 08:55:18 GMT]]></title><description><![CDATA[<p>Was machst du da bitte?<br />
Header:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; // std::cout, std::cin
#include &lt;iomanip&gt; // std::setw, std::setfill
</code></pre>
<p>Source:</p>
<pre><code class="language-cpp">const std::size_t data_size(10);

int main(void)
{
	unsigned int arr_data[data_size];
	unsigned int histogram[10] = { 0 };
	for (std::size_t i(0); i &lt; data_size; ++i)
	{
		do {
			std::cout &lt;&lt; &quot;Eingabe (&quot; &lt;&lt; i + 1 &lt;&lt; &quot;. Zahl): &quot;;
			std::cin &gt;&gt; arr_data[i];
		} while ((arr_data[i] &lt; 10 || arr_data[i] &gt; 20) &amp;&amp; (std::cout &lt;&lt; &quot;Falsche Eingabe&quot;));
		++histogram[i - 10];
	}

	std::cout	&lt;&lt; &quot;____________________\n&quot;
				&lt;&lt; &quot;| Zahl    | Anzahl |\n&quot;
				&lt;&lt; &quot;====================&quot; &lt;&lt; std::endl;
	for (unsigned char i(0); i &lt; 10; ++i)
	{
		std::cout	&lt;&lt; &quot;| &quot; &lt;&lt; std::setw(2) &lt;&lt; std::setfill('0') &lt;&lt; i &lt;&lt; &quot;      | &quot; &lt;&lt; histogram[i] &lt;&lt; &quot;     |\n&quot;
					&lt;&lt; &quot;---------------------&quot; &lt;&lt; std::endl;
	}    
	std::cout &lt;&lt; &quot;====================&quot; &lt;&lt; std::endl;

	std::cin.get();
}
</code></pre>
<p>wobei ich jetzt mal nicht auf die Eingabe von Buchstaben eingegangen bin usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424274</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 21 Dec 2007 08:55:18 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Sat, 05 Jan 2008 16:59:58 GMT]]></title><description><![CDATA[<p>so hab mal das sehr unschöne programm gepostet.. allerdings speichert er auch die falschen eingaben im array mit..<br />
kann man das mit den variablen zehn, elf, zwölf.. usw. auch eleganter lösen?! Bzw. wie bekomme ich es hin, das er nur die korrekten nimmt? Sorry, dieser c# code, sagt mir von der syntax her nicht viel.. bin c++ anfänger !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424373</guid><dc:creator><![CDATA[fh-student]]></dc:creator><pubDate>Sat, 05 Jan 2008 16:59:58 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 17:42:23 GMT]]></title><description><![CDATA[<p>Hab deinen Code mal angepasst.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;limits&gt; // std::numeric_limits

using namespace std;

void wait();

int main()
{
    int feld[10];
    int feld2[10];
    int i = 0;

    do
    {
        cout &lt;&lt; &quot;Eingabe: &quot;;
        cin &gt;&gt; feld2[i];

        if(cin.fail()) // Wenn Eingabe = #.# || #,# || Buchstaben
        {
            cin.clear();
            cin.ignore(numeric_limits&lt;streamsize&gt;::max(), '\n');
            cout &lt;&lt; &quot;Eingabe nicht korrekt.\nEs werden nur ganze Zahlen zwischen 10 und 20 erwartet.\nBitte neue &quot;;
        }
        else if(feld2[i] != int(feld2[i]))
        {
             cout &lt;&lt; &quot;Nicht korrekt.\nBitte neue &quot;;
        }
        else if(feld2[i] &lt; 10)
        {
             cout &lt;&lt; &quot;Eingabe zu klein.\nBitte neue &quot;;
        }
        else if(feld2[i] &gt; 20)
        {
             cout &lt;&lt; &quot;Eingabe zu gross.\nBitte neue &quot;;
        }
        else // Damit nicht falsche Eingaben gespeichert werden
        {
            feld[i] = int(feld2[i]);
            ++i; // Nur bei korrekter Eingabe i erhoehen
        }
    }while(i &lt; 10);

    int histogramm[11] = {0};
    int werte[11] = {10,11,12,13,14,15,16,17,18,19,20}; // Array der erlaubten Zahlen zum
                                                        // vergleichen und leichterem ausgeben
    i = 0;

    while(i &lt; 10)
    {
         if(feld[i] == werte[0])
         {
              histogramm[0] += 1;
         }
         else if(feld[i] == werte[1])
         {
              histogramm[1] += 1;
         }
         else if(feld[i] == werte[2])
         {
              histogramm[2] += 1;
         }
         else if(feld[i] == werte[3])
         {
              histogramm[3] += 1;
         }
         else if(feld[i] == werte[4])
         {
              histogramm[4] += 1;
         }
         else if(feld[i] == werte[5])
         {
              histogramm[5] += 1;
         }
         else if(feld[i] == werte[6])
         {
              histogramm[6] += 1;
         }
         else if(feld[i] == werte[7])
         {
              histogramm[7] += 1;
         }
         else if(feld[i] == werte[8])
         {
              histogramm[8] += 1;
         }
         else if(feld[i] == werte[9])
         {
              histogramm[9] += 1;
         }
         else if(feld[i] == werte[10])
         {
              histogramm[10] += 1;
         }
         i++;
    }

    for(size_t i(0);i&lt;11;++i)
    {
        cout &lt;&lt; &quot;Die &quot; &lt;&lt; werte[i] &lt;&lt; &quot; wurde &quot; &lt;&lt; histogramm[i] &lt;&lt; &quot; mal eingegeben.&quot; &lt;&lt; endl;
    }
    cout &lt;&lt; endl;

    wait(); // Damit die Konsole nicht gleich schliesst

    return 0;
}

void wait()
{
    cin.clear();
    cin.ignore(numeric_limits&lt; streamsize &gt;::max(),'\n');
    cin.get();
}
</code></pre>
<p>Die Cracks werden möglicherweise was auszusetzen haben, aber er läuft hier fehlerfrei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424549</guid><dc:creator><![CDATA[michme]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 17:50:37 GMT]]></title><description><![CDATA[<p>Ehm ich sehe mich nicht als crack an, aber da gibt es viel auszusetzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<pre><code class="language-cpp">else if(feld2[i] != int(feld2[i]))
        {
             cout &lt;&lt; &quot;Nicht korrekt.\nBitte neue &quot;;
        }
</code></pre>
<p>wofür der Cast? <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="😃"
    /> Du nimmst eh nen int-Array <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<pre><code class="language-cpp">if(feld[i] == werte[0])
         {
              histogramm[0] += 1;
         }
         else if(feld[i] == werte[1])
         {
              histogramm[1] += 1;
         }
         else if(feld[i] == werte[2])
         {
              histogramm[2] += 1;
         }
         else if(feld[i] == werte[3])
         {
              histogramm[3] += 1;
         }
         else if(feld[i] == werte[4])
         {
              histogramm[4] += 1;
         }
         else if(feld[i] == werte[5])
         {
              histogramm[5] += 1;
         }
         else if(feld[i] == werte[6])
         {
              histogramm[6] += 1;
         }
         else if(feld[i] == werte[7])
         {
              histogramm[7] += 1;
         }
         else if(feld[i] == werte[8])
         {
              histogramm[8] += 1;
         }
         else if(feld[i] == werte[9])
         {
              histogramm[9] += 1;
         }
         else if(feld[i] == werte[10])
         {
              histogramm[10] += 1;
         }
         i++;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">int werte[11] = {10,11,12,13,14,15,16,17,18,19,20};
</code></pre>
<p>. Was fällt auf?</p>
<pre><code class="language-cpp">++histogramm[feld[i - 10&rsqb;&rsqb;;
</code></pre>
<p>macht das ganze, ohne deinen Array werte und ohne dieses wiederliche else-if-Konstrukt und mit Inkrementieren ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424553</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 21 Dec 2007 17:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 19:05:03 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Ehm ich sehe mich nicht als crack an, aber da gibt es viel auszusetzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<pre><code class="language-cpp">else if(feld2[i] != int(feld2[i]))
        {
             cout &lt;&lt; &quot;Nicht korrekt.\nBitte neue &quot;;
        }
</code></pre>
<p>wofür der Cast? <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="😃"
    /> Du nimmst eh nen int-Array <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<p>hab ich übersehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>(D)Evil schrieb:</p>
<blockquote>
<pre><code class="language-cpp">++histogramm[feld[i - 10&rsqb;&rsqb;;
</code></pre>
<p>macht das ganze, ohne deinen Array werte und ohne dieses wiederliche else-if-Konstrukt und mit Inkrementieren ...</p>
</blockquote>
<p>Hast recht, allerdings musste ich</p>
<pre><code class="language-cpp">++histogramm[feld[i]-10];
</code></pre>
<p>nehmen damit es wieder funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424581</guid><dc:creator><![CDATA[michme]]></dc:creator><pubDate>Fri, 21 Dec 2007 19:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Fri, 21 Dec 2007 19:06:23 GMT]]></title><description><![CDATA[<p>danke ! echt vielen dank...</p>
<p>boah im nachhinein könnt ich mir in den arsch beißen.. das ich darauf nicht gekommen bin! kapiere das mit dem inkrement und dekrement operator nicht.. warum setzt du</p>
<pre><code class="language-cpp">++histogramm[feld[i - 10&rsqb;&rsqb;;
</code></pre>
<p>die ++ vor das histogramm?! das heißt doch das histogramm = 1 + histogramm[feld[i-10&rsqb;&rsqb;; .. oder nicht?! oder wie kann ich das intepretieren?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424582</guid><dc:creator><![CDATA[fh-student]]></dc:creator><pubDate>Fri, 21 Dec 2007 19:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Sat, 22 Dec 2007 10:32:41 GMT]]></title><description><![CDATA[<p>Das ++ bezieht sich auf den ganzen Term:</p>
<pre><code class="language-cpp">++(histogramm[feld[i] - 10]);
// bzw.
histogramm[feld[i] - 10] = histogramm[feld[i] - 10] + 1;
</code></pre>
<p>d.h. der Inhalt des Arrayelements wird um eins erhöht (so wie es ja sein soll).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424737</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sat, 22 Dec 2007 10:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Sat, 22 Dec 2007 12:16:13 GMT]]></title><description><![CDATA[<p>ich bekomme es einfach nicht hin, mithilfe euren ++histogramm[feld[i]-10] vorschlags, en funktionstüchtiges programm zu schreiben..</p>
<p>an welche stelle muss ich es setzen, bzw. wie funktioniert es???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424770</guid><dc:creator><![CDATA[fh-student]]></dc:creator><pubDate>Sat, 22 Dec 2007 12:16:13 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Sat, 22 Dec 2007 13:10:10 GMT]]></title><description><![CDATA[<p>Du musst</p>
<pre><code class="language-cpp">i = 0;

    while(i &lt; 10)
    {
         if(feld[i] == werte[0])
         {
              histogramm[0] += 1;
         }
         else if(feld[i] == werte[1])
         {
              histogramm[1] += 1;
         }
         else if(feld[i] == werte[2])
         {
              histogramm[2] += 1;
         }
         else if(feld[i] == werte[3])
         {
              histogramm[3] += 1;
         }
         else if(feld[i] == werte[4])
         {
              histogramm[4] += 1;
         }
         else if(feld[i] == werte[5])
         {
              histogramm[5] += 1;
         }
         else if(feld[i] == werte[6])
         {
              histogramm[6] += 1;
         }
         else if(feld[i] == werte[7])
         {
              histogramm[7] += 1;
         }
         else if(feld[i] == werte[8])
         {
              histogramm[8] += 1;
         }
         else if(feld[i] == werte[9])
         {
              histogramm[9] += 1;
         }
         else if(feld[i] == werte[10])
         {
              histogramm[10] += 1;
         }
         i++;
    }
</code></pre>
<p>einfach durch:</p>
<pre><code class="language-cpp">for (unsigned char x(0); x &lt; 10; ++x)
    ++histogramm[feld[x] - 10]
</code></pre>
<p>ersetzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Also nochmal von vorne Erklärt:</p>
<pre><code class="language-cpp">int zehn=10,elf=11;
int zwoelf=12,drei=13,vier=14,fuenf=15,sechs=16,sieben=17,acht=18,neun=19,zwanzig=20;
</code></pre>
<p>Das kannst du ja, wie es &quot;michme&quot; gemacht hat durch einen Array ersetzen, ist dann etwas angenehmer zu nutzen:</p>
<pre><code class="language-cpp">int werte[10] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
</code></pre>
<p>dann ist werte[0] == 10, werte[1] == 11 usw. ... das ist ja schonmal nen ganzes Stück übersichtlicher. Jetzt hast du aber da eine einfache Zahlenreihe, die nur um 10 verschoben ist. Wenn du nun wieder 10 abziehst, erhälst du eine Zahlenreihe, die bei 0 anfängt und somit mit unserem Index von histogramm überein stimmt.<br />
Wenn du vorher dann folgendes hattest:</p>
<pre><code class="language-cpp">if (feld[i] == zehn) histogramm[0] += 1;
</code></pre>
<p>ersetzt du das, wenn du mit einem Array arbeitest durch:</p>
<pre><code class="language-cpp">if (feld[i] == werte[0] /* 10 */) histogramm[0] += 1;
else if (feld[i] == werte[1] /* 11 */) histogramm[1] += 1;
else if (feld[i] == werte[2] /* 12 */) histogramm[2] += 1;
</code></pre>
<p>Demnach soll histogramm[0] inkrementiert werden(+= 1), wenn feld[i] == 10 ist. Usw. Wenn du nun aber folgendes machst:</p>
<pre><code class="language-cpp">feld[i] - 10
</code></pre>
<p>, bekommst du ja, wenn feld[i] == 10 ist, 0 raus, bei 11 1 usw. Also genau den Index, den du bei histogramm haben willst!</p>
<pre><code class="language-cpp">histogramm[ feld[i] - 10 ] += 1;
</code></pre>
<p>+= 1 ersetzt du nun noch durch ++ und da man Preinkrementierung der Postinkrementierung vorzieht:</p>
<pre><code class="language-cpp">++histogramm[ feld[i] - 10 ];
</code></pre>
<p>... fertig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424796</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 22 Dec 2007 13:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Sat, 22 Dec 2007 13:31:19 GMT]]></title><description><![CDATA[<p>boaaah riesen DANK! <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>
<p>hast mir echt geholfen ! so funktioniert das ! Dankeee, seeehr großen dank !!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424807</guid><dc:creator><![CDATA[fhstudent]]></dc:creator><pubDate>Sat, 22 Dec 2007 13:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Thu, 27 Dec 2007 16:29:17 GMT]]></title><description><![CDATA[<p>da mein problem schon gelöst ist, wollte ich dennoch was fragen..</p>
<p>kann mir jemand das mit dem inkrementieren einer variable bzw. dekrementieren mal an einem beispiel erläutern? möcht ejetzt keinen extra thread deswegen aufmachen...</p>
<p>Wäre euch sehr dankbar...</p>
<p>ich hab bisher nur eines im Kopf</p>
<pre><code class="language-cpp">// Inkrementieren heißt doch

i++;

//äquivalent zu

i = i + 1; // ?? Stimmt das ?? 

// bzw. Dekrementieren

++i;

//äquivalent zu 

i+1 = i // ???
</code></pre>
<p>Dankee ! <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/1426902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426902</guid><dc:creator><![CDATA[fh-student]]></dc:creator><pubDate>Thu, 27 Dec 2007 16:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim array durchsuchen on Thu, 27 Dec 2007 18:02:31 GMT]]></title><description><![CDATA[<p>Nein ^^ Dekrementieren ist --i bzw. i--. Inkrementieren ist ++i bzw. i++.</p>
<p>Hmm der Unterschied wird bsw. hier deutlich:</p>
<pre><code class="language-cpp">int array[10]();
unsigned char pos(0);

array[pos++] = 1;
array[pos] = 2;
array[++pos] = 3;
</code></pre>
<p><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/1426943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426943</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 27 Dec 2007 18:02:31 GMT</pubDate></item></channel></rss>