<?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[Lotto-Programm [war: C++]]]></title><description><![CDATA[<p>Hallo kann mir jemand helfen???? Ich muß für die Schule ein Lotto Programm schreiben. Ich habe 12 Lottofelder mit je 6 Zahlen, ich gebe 6 Zahlen ein wo jede einzelne Zahl mit den 12 mal 6 Zahlen verglichen wird. Ausgabe soll dann so sein das ich sehen kann wieviel richtige ich in jedem der 12 blöcke habe, ein wenig hab ich schon.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;
int main()
{
	setlocale(LC_ALL,&quot;German&quot;);
	// Lottoschein Zahlen
	int LOTTO[12][6] = {{2,18,21,38,41,46},{3,11,17,25,31,39},{4,10,16,26,33,42},{2,11,25,37,39,41},{3,14,18,24,39,43},{7,11,26,31,40,43},{7,10,23,34,40,46},{3,16,20,26,32,48},{13,18,22,33,37,48},{2,15,19,25,37,46},{1,11,17,27,29,47},{3,7,17,33,44,48}};
	int i=0,m=0,n=0;

	//Eingabe der Gezogenen Zahlen
	int Lottozahl[6];

	bool b;
	int s=0;

	for (int i=0;i&lt;6;i++)
	{
		do
		{
			cout &lt;&lt;i&lt;&lt; &quot;. &quot;&lt;&lt;&quot;Zahl: &quot;;
			cin &gt;&gt; Lottozahl[i];
			b=false;
			for(int k=0;k&lt;i;++k)
			{
				if(Lottozahl[k] == Lottozahl[i])
				{
					b=true;

				}
			}
		}while((Lottozahl[i]&lt;1) || (Lottozahl[i] &gt; 49) || b);
	}

		int Zaehler=0, r=0,Z=0;
		i=0;
		m=0;
		n=0;
		while (m&lt;12)
		{
			i=0;

			while (n&lt;6 &amp;&amp; i&lt;6)
			{
				Zaehler=0;
				Z=0;
				while (Zaehler&lt;6)
				{
					if (Lottozahl[i] == LOTTO[m][n])
					{
						r=r+1;
						cout &lt;&lt; r &lt;&lt; &quot;Richtige&quot;&lt;&lt;endl;

					}
					Zaehler++;
					n++;
					Z++;

				}
				if (Z==6)
				{
					i++;
					n=0;
				}
			}

			if (i==6)
			{
				m++;
			}
		}

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/263745/lotto-programm-war-c</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 14:32:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263745.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Mar 2010 21:04:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 21:06:59 GMT]]></title><description><![CDATA[<p>Hallo kann mir jemand helfen???? Ich muß für die Schule ein Lotto Programm schreiben. Ich habe 12 Lottofelder mit je 6 Zahlen, ich gebe 6 Zahlen ein wo jede einzelne Zahl mit den 12 mal 6 Zahlen verglichen wird. Ausgabe soll dann so sein das ich sehen kann wieviel richtige ich in jedem der 12 blöcke habe, ein wenig hab ich schon.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;
int main()
{
	setlocale(LC_ALL,&quot;German&quot;);
	// Lottoschein Zahlen
	int LOTTO[12][6] = {{2,18,21,38,41,46},{3,11,17,25,31,39},{4,10,16,26,33,42},{2,11,25,37,39,41},{3,14,18,24,39,43},{7,11,26,31,40,43},{7,10,23,34,40,46},{3,16,20,26,32,48},{13,18,22,33,37,48},{2,15,19,25,37,46},{1,11,17,27,29,47},{3,7,17,33,44,48}};
	int i=0,m=0,n=0;

	//Eingabe der Gezogenen Zahlen
	int Lottozahl[6];

	bool b;
	int s=0;

	for (int i=0;i&lt;6;i++)
	{
		do
		{
			cout &lt;&lt;i&lt;&lt; &quot;. &quot;&lt;&lt;&quot;Zahl: &quot;;
			cin &gt;&gt; Lottozahl[i];
			b=false;
			for(int k=0;k&lt;i;++k)
			{
				if(Lottozahl[k] == Lottozahl[i])
				{
					b=true;

				}
			}
		}while((Lottozahl[i]&lt;1) || (Lottozahl[i] &gt; 49) || b);
	}

		int Zaehler=0, r=0,Z=0;
		i=0;
		m=0;
		n=0;
		while (m&lt;12)
		{
			i=0;

			while (n&lt;6 &amp;&amp; i&lt;6)
			{
				Zaehler=0;
				Z=0;
				while (Zaehler&lt;6)
				{
					if (Lottozahl[i] == LOTTO[m][n])
					{
						r=r+1;
						cout &lt;&lt; r &lt;&lt; &quot;Richtige&quot;&lt;&lt;endl;

					}
					Zaehler++;
					n++;
					Z++;

				}
				if (Z==6)
				{
					i++;
					n=0;
				}
			}

			if (i==6)
			{
				m++;
			}
		}

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1873954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873954</guid><dc:creator><![CDATA[KaiR]]></dc:creator><pubDate>Thu, 25 Mar 2010 21:06:59 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 21:36:32 GMT]]></title><description><![CDATA[<p>Ohne den Wust jetzt genau studiert zu haben (was ich auch gar nicht tun werde) solltest du eine konkrete Frage stellen, wo genau du Probleme hast. Was dir mit Sicherheit weiterhelfen wird, ist, wenn du dein Problem in Teilprobleme zerlegst. Funktionen sind eine feine Sache, die man dafür sehr gut verwenden kann.</p>
<p>So könntest du eine Funktion schreiben, welche zunächst nur prüft, ob eine bestimmte Zahl in einer Sequenz vorkommt.</p>
<p>Eine weitere Funktion könnte nun die Übereinstimmungen der beiden Sequenzen zählen und dafür praktischerweise die erstgenannte Funktion verwenden.</p>
<p>Das verleiht deinem Programm gleiche eine ganze Potenz mehr Übersichtlichkeit.</p>
<p>Grüße ... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873959</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Thu, 25 Mar 2010 21:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 21:47:32 GMT]]></title><description><![CDATA[<p>Das Programm läuft ja so weit aber als ausgabe bekomme ich die gesamt anzahl der richtig getippten Zahlen. Was ich aber brauch:</p>
<p>1. ausgabe = richtige vom ersten Block<br />
2. ausgabe = richtige vom zweiten Block<br />
u.s.w.</p>
<p>also ich brauche einen array mit 12 blöcken wo ich die menge der richtigen zahlen speichere so weit bin ich auch aber ich kann dies nicht umsetzten das es auch funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873964</guid><dc:creator><![CDATA[KaiR]]></dc:creator><pubDate>Thu, 25 Mar 2010 21:47:32 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 21:49:56 GMT]]></title><description><![CDATA[<p>Bis auf einen grausigen Codestil sieht das schonmal gut aus. Dein Codestil verhindert leider, dass du die Fehler in der Zählschleife einfach findest - die ist nämlich VIEL zu kompliziert. Ich habe das mal verbessert (ungetestet, aber ich glaube es sollte richtig sein):</p>
<pre><code class="language-cpp">while (m &lt; 12)
 {
  i = 0;
  Z = 0;
  while (i &lt; 6)
   {
    Zaehler = 0;
    while (Zaehler &lt; 6)
     {
      if (Lottozahl[i] == LOTTO[m][Zaehler])
       {
        Z = Z + 1;
       }
      Zaehler++;
     }
    i++;
   }
  cout &lt;&lt; Z &lt;&lt; &quot; Richtige in Feld &quot; &lt;&lt; m &lt;&lt; endl;
  m++;
 }
</code></pre>
<p>Den Stil habe ich jetzt nicht verbessert, das wäre zu viel Arbeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873965</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Mar 2010 21:49:56 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 22:03:36 GMT]]></title><description><![CDATA[<p>Danke funktioniert... Sorry wenn das ein wenig unübersichtlich ist aber c++ habe ich erst seid 3 Wochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873968</guid><dc:creator><![CDATA[KaiR]]></dc:creator><pubDate>Thu, 25 Mar 2010 22:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Thu, 25 Mar 2010 22:23:46 GMT]]></title><description><![CDATA[<p>KaiR schrieb:</p>
<blockquote>
<p>Danke funktioniert... Sorry wenn das ein wenig unübersichtlich ist aber c++ habe ich erst seid 3 Wochen.</p>
</blockquote>
<p>Die Unübersichtlichkeit ist deine Schwäche, das solltest du dir möglichst sofort abgewöhnen:<br />
- Nimm for-Schleifen, wo sie angebracht sind. Du hast sehr oft unnötig while benutzt<br />
- Deklariere Variablen dort, wo sie das erste Mal benutzt werden. Insbesondere kann man auch innerhalb des for-Blocks Zählvariablen deklarieren: <code>for(int i=0;i&lt;6;++i)</code><br />
- Verwende NIEMALS Variablen mehrmals für einen unterschiedlichen Zweck<br />
- Und das <strong>Wichtigste</strong>: Wähle sprechende Variablennamen! Ein bisschen Schreibarbeit hat noch nie jemandem geschadet (wenn sie einem nicht ohnehin von einer Autovervollständigung abgenommen wird). Dafür kann man sehr viel einfacher Logikfehler wie hier finden. Hättest du deine Variablen nicht i,m,n,r,Z,b,s,Zaehler genannt, hätte man die Fehler Ruckzuck gesehen. Zaehler als Variablenname ist an sich noch ok, aber in diesem Programm gab es zu viele verschiedene Sachen die gezählt wurden (der Block, die Zahl im Block, die Zahl in der Tippliste, die Anzahl der Richtigen), als dass man sofort wüsste, was gemeint ist.<br />
- Ein paar Kommentare sind immer gut, wenn andere (wie hier) den COde lesen sollen oder man selber ein paar Wochen später nochmal einen Blick darauf werfen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873975</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Mar 2010 22:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Fri, 26 Mar 2010 15:16:00 GMT]]></title><description><![CDATA[<p>KaiR schrieb:</p>
<blockquote>
<p>Ich habe 12 Lottofelder mit je 6 Zahlen, ich gebe 6 Zahlen ein wo jede einzelne Zahl mit den 12 mal 6 Zahlen verglichen wird. Ausgabe soll dann so sein das ich sehen kann wieviel richtige ich in jedem der 12 blöcke habe, ...</p>
</blockquote>
<p>ja - es ist Freitag; also Zeit für ungewöhnliche Lösungen!<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23610">@KaiR</a> frag' doch mal Deinen Lehrer, was er davon hält? <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">#include &lt;algorithm&gt; // set_intersection
#include &lt;cassert&gt;
#include &lt;iomanip&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;
#include &lt;set&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;

// --   Einlesen eines Lottoscheins
std::istream&amp; operator&gt;&gt;( std::istream&amp; in, std::vector&lt; std::set&lt; int &gt; &gt;&amp; lottoschein )
{
    std::vector&lt; std::set&lt; int &gt; &gt; ls;
    for( ; (in &gt;&gt; std::ws).good(); )    // Lesen bis EOF
    {
        std::set&lt; int &gt; tipp;
        for( int z; tipp.size() &lt; 6 &amp;&amp; in &gt;&gt; z; )
            if( !tipp.insert( z ).second )
                in.setstate( std::ios_base::failbit );  // Fehler, da Zahl doppelt vorkommt
        if( in )
            ls.push_back( tipp );
    }
    if( in ) 
        swap( ls, lottoschein );
    return in;
}

// --   ein zählender Ausgabeiterator
struct Counter : public std::iterator&lt; std::output_iterator_tag, void, void, void, void &gt;
{
    Counter() : m_cnt(0) {}
    Counter&amp; operator*() { return *this; }
    Counter&amp; operator++() { ++m_cnt; return *this; }
    Counter operator++( int ) { Counter tmp(*this); ++m_cnt; return tmp; }
    template&lt; typename T &gt;
    Counter&amp; operator=( const T&amp; ) { return *this; }
    int Count() const { return m_cnt; }
private:
    int m_cnt;
};

int main()
{
    using namespace std;
    vector&lt; set&lt; int &gt; &gt; lottoschein;
    istringstream in(
        &quot;2 18 21 38 41 46\n&quot;
        &quot;3 11 17 25 31 39\n&quot;
        &quot;4 10 16 26 33 42\n&quot;
        &quot;2 11 25 37 39 41\n&quot;
        &quot;3 14 18 24 39 43\n&quot;
        &quot;7 11 26 31 40 43\n&quot;
        &quot;7 10 23 34 40 46\n&quot;
        &quot;3 16 20 26 32 48\n&quot;
        &quot;13 18 22 33 37 48\n&quot;
        &quot;2 15 19 25 37 46\n&quot;
        &quot;1 11 17 27 29 47\n&quot;
        &quot;3 7 17 33 44 48\n&quot;
        );
    in &gt;&gt; lottoschein;
    assert( in );

    set&lt; int &gt; tipp;
    cout &lt;&lt; &quot;geben Sie sechs unterschiedliche Zahlen ein:&quot; &lt;&lt; endl;
    for( int zahl, nr=1; tipp.size() &lt; 6 &amp;&amp; (cout &lt;&lt; nr &lt;&lt; &quot;.Zahl &quot;, cin &gt;&gt; zahl); )
        if( tipp.insert( zahl ).second ) ++nr;

    cout &lt;&lt; endl;
    int feldNr = 1;
    for( vector&lt; set&lt; int &gt; &gt;::iterator iFeld = lottoschein.begin(); iFeld != lottoschein.end(); ++iFeld, ++feldNr )
        cout &lt;&lt; setw(2) &lt;&lt; feldNr &lt;&lt; &quot;.Feld: &quot; 
            &lt;&lt; set_intersection( iFeld-&gt;begin(), iFeld-&gt;end(), tipp.begin(), tipp.end(), Counter() ).Count() &lt;&lt; &quot; Richtige&quot; &lt;&lt; endl;

    return 0;
}
</code></pre>
<p>Für die Freunde von boost kann man den Counter noch schreiben als</p>
<pre><code class="language-cpp">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;

struct Counter : public boost::iterator_adaptor&lt; Counter, int, const int, boost::forward_traversal_tag, const Counter&amp; &gt;
{
    Counter() : iterator_adaptor_(0) {}
    const Counter&amp; dereference() const { return *this; }
    template&lt; typename T &gt;
    const Counter&amp; operator=( const T&amp; ) const { return *this; }
    int Count() const { return base(); }
};
</code></pre>
<p>Viel Spaß damit<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874236</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 26 Mar 2010 15:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Fri, 26 Mar 2010 15:21:09 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for( int zahl, nr=1; tipp.size() &lt; 6 &amp;&amp; (cout &lt;&lt; nr &lt;&lt; &quot;.Zahl &quot;, cin &gt;&gt; zahl); )
</code></pre>
</blockquote>
<p>Zu schlichte obfucation. Man hat gar nicht den Eindruck, als passiere das Chaos als Folge des Entwurfs, wie sonst immer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874240</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 26 Mar 2010 15:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Fri, 26 Mar 2010 15:50:34 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Zu schlichte <strong>obfucation</strong>.</p>
</blockquote>
<p>Du meinst sicher obfuckation.</p>
<p>Back to topic:<br />
Habt ihr schon Klassen/Strukturen behandelt? Das Ganze wird immens übersichtlicher, wenn man die Daten in eigene Datenstrukturen kapselt, z.B. :<br />
- Klasse Tipp: enthält alle getippten Zahl des Lottospielers<br />
- Klasse Lottoschein: enthält 1..N Tipps<br />
- Klasse Lottoziehung: enthält die gezogenen Lottozahlen</p>
<p>Das Auswerten könnte vielleicht so aussehen:<br />
- Funktion auswerten( Lottoziehung, Lottoschein ) liefert die Anzahl aller getroffenen Zahlen je Tippfeld des Lottoscheins zurück.</p>
<p>- Funktion auswerten( Lottoziehung, Tipp ) liefert die Anzahl der getroffenen Zahlen des Tipps zurück.</p>
<p>Damit kann man schon etwas Struktur in den Code bekommen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874248</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 26 Mar 2010 15:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Fri, 26 Mar 2010 15:50:40 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Zu schlichte <strong>obfucation</strong>.</p>
</blockquote>
<p>Du meinst sicher obfuckation.</p>
</blockquote>
<p>volkard meint sicher 'obfuscation' auf deutsch 'Benebelung, Verwirrung'.</p>
<p>volkard schrieb:</p>
<blockquote>
<p>... als passiere das Chaos als Folge des Entwurfs, wie sonst immer.</p>
</blockquote>
<p>Das find' ich gut! <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>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874252</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 26 Mar 2010 15:50:40 GMT</pubDate></item><item><title><![CDATA[Reply to Lotto-Programm [war: C++] on Fri, 26 Mar 2010 15:52:09 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>volkard meint sicher 'obfuscation' auf deutsch 'Benebelung, Verwirrung'.</p>
</blockquote>
<p>to confuse the russians, nehme ich an? Mir war schon klar, was er meinte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874253</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 26 Mar 2010 15:52:09 GMT</pubDate></item></channel></rss>