<?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[Spielergebnisse - Punkteberechnung c++]]></title><description><![CDATA[<p>Ich brauche Hilfe bei meinem c++ Programm &quot;Siedler-Punkterechner&quot;</p>
<p>Das Problem:<br />
ich habe bei einem StringGrid die werte ausgelesen und in einem Feld(String[]) gespeichert<br />
jetzt möchte ich dem spieler mit der größten punktezahl 5 dem 2. 3 Punkte dem 3. 1 Punkt und dem letzten keinen Punkt<br />
Aber! Wenn es 2 zweite plätze gibt dann sollen sie sich die punkte teilen:<br />
4/2 = 2 jeder 2 punkte</p>
<p>Bis jetzt siehst es so aus:</p>
<pre><code>for(int i=1;i&lt;=StringGrid1-&gt;RowCount;i++){
        int t = 0;
        for(int k=1;k &lt; StringGrid1-&gt;ColCount;k=k+2){
                if(StringGrid1-&gt;Cells[k][i]!=&quot;&quot;)
                {
                temp[t]= StringGrid1-&gt;Cells[k][i];
                t++;
                }}
</code></pre>
<p>Die Punktezahl sollte dann in dem feld daneben angezeigt werden</p>
<p>wie mache ich es jetzt am übersichtlichsten / besten ohne gleich mehrere seiten zu schreiben??</p>
<p>ich habe auch schon TStringList probiert</p>
<p>MFG SpiderX</p>
<p>Ps:ich benutze borland habe windows</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180076/spielergebnisse-punkteberechnung-c</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 17:44:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180076.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Apr 2007 13:35:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Sat, 28 Apr 2007 13:35:53 GMT]]></title><description><![CDATA[<p>Ich brauche Hilfe bei meinem c++ Programm &quot;Siedler-Punkterechner&quot;</p>
<p>Das Problem:<br />
ich habe bei einem StringGrid die werte ausgelesen und in einem Feld(String[]) gespeichert<br />
jetzt möchte ich dem spieler mit der größten punktezahl 5 dem 2. 3 Punkte dem 3. 1 Punkt und dem letzten keinen Punkt<br />
Aber! Wenn es 2 zweite plätze gibt dann sollen sie sich die punkte teilen:<br />
4/2 = 2 jeder 2 punkte</p>
<p>Bis jetzt siehst es so aus:</p>
<pre><code>for(int i=1;i&lt;=StringGrid1-&gt;RowCount;i++){
        int t = 0;
        for(int k=1;k &lt; StringGrid1-&gt;ColCount;k=k+2){
                if(StringGrid1-&gt;Cells[k][i]!=&quot;&quot;)
                {
                temp[t]= StringGrid1-&gt;Cells[k][i];
                t++;
                }}
</code></pre>
<p>Die Punktezahl sollte dann in dem feld daneben angezeigt werden</p>
<p>wie mache ich es jetzt am übersichtlichsten / besten ohne gleich mehrere seiten zu schreiben??</p>
<p>ich habe auch schon TStringList probiert</p>
<p>MFG SpiderX</p>
<p>Ps:ich benutze borland habe windows</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275157</guid><dc:creator><![CDATA[SpiderX]]></dc:creator><pubDate>Sat, 28 Apr 2007 13:35:53 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Sat, 28 Apr 2007 13:40:22 GMT]]></title><description><![CDATA[<p>Wo stehen denn die Punke drin? In dem Grid? Wie sind die geordnet? Also was sind die zeilen was sind die spalten?<br />
Dein Code linearisiert das zweidimensionale cvells-array auf ein eindimensionales array temp[].<br />
Schreib mal nochmal genau, wo Punkte stehen und was sie bedeuten.</p>
<p>Und wieso willst du dem spieler mit den meisten punkten 5 punkte geben? sind das dann andere punkte als die die er schon hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275161</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Sat, 28 Apr 2007 13:40:22 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Sat, 28 Apr 2007 13:50:46 GMT]]></title><description><![CDATA[<p>eis ist so angeordent:<br />
Datum || Spieler 1 SiegPunkte || Spieler 1 Punkte || ....<br />
und jede zeile ist ein neues spiel</p>
<p>bei siedler ist es so das die spieler unterschiedliche punkte am schluss haben.<br />
Ich habe dann die siegpunkte und muss/darf die punkte rausbekommen.<br />
Mit 14 punkten hat man gewonnen.Also bekommt der erste in der Wertung 5 punkte.<br />
der zweit 3 punkte usw.<br />
ja es ist ein string grid.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275170</guid><dc:creator><![CDATA[SpiderX]]></dc:creator><pubDate>Sat, 28 Apr 2007 13:50:46 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Sat, 28 Apr 2007 14:16:20 GMT]]></title><description><![CDATA[<p>dann würd ich dir erstmal empfehlen, die Punkte die im stringgrid stehen als erstes in eine besser verarbeitbare datenstruktur zu überführen, zB</p>
<pre><code class="language-cpp">struct Spieler
{
  int SpielerNr;
  int Punkte;
};

std::vector&lt;Spieler&gt; punkte;
</code></pre>
<p>Dann kannst du dir noch einen operator &lt; schreiben der zwei spieler anhand der punkte vergleicht.</p>
<p>dann geht zB<br />
std::sort(punkte.begin(), punkte.end());</p>
<p>Dann hast du die punkte schon sortiert. Der erste bekommt 5 punkte, der zweite 3 usw.<br />
Und zurückschreiben in das stringgrid</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275184</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Sat, 28 Apr 2007 14:16:20 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Mon, 30 Apr 2007 15:56:15 GMT]]></title><description><![CDATA[<p>danke fur die antwort!!<br />
ich habe jetzt eine struktur spieler gemacht.<br />
aber das mit dem</p>
<pre><code class="language-cpp">std::vector&lt;Spieler&gt; punkte;
</code></pre>
<p>und dem</p>
<pre><code class="language-cpp">std::sort(punkte.begin(), punkte.end());
</code></pre>
<p>versteh ich noch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276436</guid><dc:creator><![CDATA[SpiderX]]></dc:creator><pubDate>Mon, 30 Apr 2007 15:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Mon, 30 Apr 2007 17:14:54 GMT]]></title><description><![CDATA[<p>std::vector&lt;Spieler&gt; punkte_pro_spieler kannst du als array ansehen, welches fpür jeden Spieler die punkte speichert.</p>
<p>Jetzt kannst du den vector sortieren, damit du nicht selber sortieren muss. Dazu rufst du</p>
<p>std::sort(punkte.begin(), punkte.end());<br />
Auf. Damit wird der vector (sozusagen das array) von anfang bis ende aufteigend sortiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276496</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Mon, 30 Apr 2007 17:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Mon, 30 Apr 2007 19:19:09 GMT]]></title><description><![CDATA[<p>ich versteh jetzt das mit dem operator noch nicht!!<br />
sry</p>
<pre><code class="language-cpp">Spieler spieler[4];

        spieler[0].norm_punkte = StrToInt(StringGrid1-&gt;Cells[1][i]);
         spieler[1].norm_punkte = StrToInt(StringGrid1-&gt;Cells[3][i]);
          spieler[2].norm_punkte=StrToInt(StringGrid1-&gt;Cells[5][i]);
           spieler[3].norm_punkte=StrToInt(StringGrid1-&gt;Cells[7][i]);

           std::vector &lt;Spieler&gt; norm_Punkte;
           std::sort(norm_Punkte.begin(), norm_Punkte.end());
</code></pre>
<p>[C++ Fehler] _function_base.h(73): E2093 'operator&lt;' ist im Typ 'Spieler' für Argumente desselben Typs nicht implementiert</p>
<p>was soll ich machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276589</guid><dc:creator><![CDATA[SpiderX]]></dc:creator><pubDate>Mon, 30 Apr 2007 19:19:09 GMT</pubDate></item><item><title><![CDATA[Reply to Spielergebnisse - Punkteberechnung c++ on Mon, 30 Apr 2007 19:30:19 GMT]]></title><description><![CDATA[<p>-vector erstmal initialisieren. bisher hast du ja nur einen deklariert, das ding hat keine länge keine elemente kein gar nix</p>
<p>-mit push_back schiebste deine ganzen spieler darein</p>
<p>-zum sortieren muss du n operator&lt; definieren, geht imho so in etwa:</p>
<pre><code class="language-cpp">struct Spieler{
 unsigned int spielernummer;
 unsigned int punkte;
};

//operator &lt; überladen, sodass du die spieler sortieren kannst:
bool operator &lt; (const Spieler&amp; s1, const Spieler&amp; s2){
 return (s1.punkte&lt;s2.punkte);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1276596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276596</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 30 Apr 2007 19:30:19 GMT</pubDate></item></channel></rss>