<?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[HILFE!]]></title><description><![CDATA[<p>hey ho! ich muss das prog in 3 stunden abgeben und ich komme nicht weiter. es läuft soweit ganz gut durch gibt aber bei der sortierten liste nur nullen aus. wenn jemand so genial ist und da durch schaut bzw einen besseren vorschlag hat, würde ich mich exorbitant freuen wenn er mir helfen würde.</p>
<p>die aufgabenstellung:</p>
<p>Erstellen Sie ein cpp prog, dass eine tabelle aus 18 Fußballvereinen sortiert. ein Verein wird durch den Namen, die Punkte, die Anzahl der geschossenen Tore sowie dieAnzahl der erhaltenen Tore charakterisiert.<br />
Ein Verein V1 soll vor einem Verein V2 in der Tabelle stehen falls:<br />
1. V1 mehr Punkte als V2 hat<br />
2. Bei gleicher Punktzahl, falls V1 eine größere Tordifferenz als V2 hat.<br />
3. Bei gleicher Tordifferen, falls V1 mehr geschossene Tore als V2 hat<br />
4. Wenn alle werte gleich sind, alphabetisch.</p>
<p>und mein quelltext soweit:</p>
<p>//Einlesen einer Fußballtabelle aus einer DATEI</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;conio.h&gt;<br />
#include &lt;stdafx.h&gt;</p>
<p>const int anzahl=18;<br />
int i,j;<br />
int max;</p>
<p>FILE *datei;<br />
class verein{<br />
public:<br />
int st;<br />
int punkte;<br />
int posT;<br />
int negT;<br />
char name[20];<br />
};</p>
<p>verein V[anzahl+1];</p>
<p>void fvereineinlesen(FILE *f){<br />
verein V[anzahl+1];<br />
for(i=0;i&lt;anzahl;i++){<br />
fscanf(f,&quot;%2d&quot;,&amp;V[i].st);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].punkte);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].posT);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].negT);<br />
fscanf(f,&quot;%s\n&quot;,&amp;V[i].name);</p>
<p>printf(&quot;\n\t\t&gt;%d &quot;,V[i].st);<br />
printf(&quot;%d &quot;,V[i].punkte);<br />
printf(&quot;%d &quot;,V[i].posT);<br />
printf(&quot;%d &quot;,V[i].negT);<br />
printf(&quot;%s&quot;,V[i].name);<br />
}<br />
printf(&quot;\nTabelle wurde eingelesen&quot;);<br />
}<br />
void vereinausgabe(){<br />
for(i=0;i&lt;anzahl;i++){<br />
if(i&lt;9){printf(&quot;\n &quot;);}else{printf(&quot;\n &quot;);}<br />
printf(&quot; %d | %2d | %s&quot;,i+1,V[i].st,V[i].name);<br />
for(j=strlen(V[i].name);j&lt;23;j++){printf(&quot; &quot;);}<br />
printf(&quot;| %3d | %3d | %3d | %3d &quot;,V[i].punkte, V[i].posT, V[i].negT, V[i].posT-V[i].negT);<br />
}<br />
}<br />
void sortieren(){<br />
for(i=0;i&lt;anzahl-1;i++){<br />
max=V[i].punkte;<br />
for(j=i+1;j&lt;anzahl;j++){<br />
if(V[j].punkte&gt;V[i].punkte){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}else{<br />
if(V[j].punkte==V[i].punkte){<br />
if(V[j].posT-V[j].negT&gt;V[i].posT-V[i].negT){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}else{<br />
if(V[j].punkte==V[i].punkte){<br />
if(V[j].posT-V[j].negT==V[i].posT-V[i].negT){<br />
if(V[j].posT&gt;V[i].posT){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}<br />
}<br />
}</p>
<p>}}<br />
}<br />
}<br />
}<br />
}</p>
<p>//Hauptprogramm<br />
int main(){<br />
printf(&quot;\n Programm zum Einlesen einer Datei und anschliessende Ausgabe \n\n&quot;);<br />
datei = fopen(&quot;tabelle.dat&quot;,&quot;r+&quot;);<br />
if(!datei){<br />
printf(&quot;\tKeine Datei vorhanden\n&quot;);<br />
system(&quot;PAUSE&quot;);<br />
return 0;//1;<br />
}<br />
fvereineinlesen(datei);<br />
sortieren();<br />
printf(&quot;\n\n\n Pos.| ST | Verein |Punkte| +Tor | -Tor | Tordiff.&quot;);<br />
printf(&quot;\n-----+----+--------------------------+------+------+------+---------&quot;);<br />
vereinausgabe();<br />
printf(&quot;\n\n\n\t&quot;);<br />
system(&quot;PAUSE&quot;);<br />
return 0;<br />
}</p>
<p>ich bedanke mich schonmal im vorraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134585/hilfe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 15:43:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134585.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jan 2006 08:33:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 08:33:37 GMT]]></title><description><![CDATA[<p>hey ho! ich muss das prog in 3 stunden abgeben und ich komme nicht weiter. es läuft soweit ganz gut durch gibt aber bei der sortierten liste nur nullen aus. wenn jemand so genial ist und da durch schaut bzw einen besseren vorschlag hat, würde ich mich exorbitant freuen wenn er mir helfen würde.</p>
<p>die aufgabenstellung:</p>
<p>Erstellen Sie ein cpp prog, dass eine tabelle aus 18 Fußballvereinen sortiert. ein Verein wird durch den Namen, die Punkte, die Anzahl der geschossenen Tore sowie dieAnzahl der erhaltenen Tore charakterisiert.<br />
Ein Verein V1 soll vor einem Verein V2 in der Tabelle stehen falls:<br />
1. V1 mehr Punkte als V2 hat<br />
2. Bei gleicher Punktzahl, falls V1 eine größere Tordifferenz als V2 hat.<br />
3. Bei gleicher Tordifferen, falls V1 mehr geschossene Tore als V2 hat<br />
4. Wenn alle werte gleich sind, alphabetisch.</p>
<p>und mein quelltext soweit:</p>
<p>//Einlesen einer Fußballtabelle aus einer DATEI</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;conio.h&gt;<br />
#include &lt;stdafx.h&gt;</p>
<p>const int anzahl=18;<br />
int i,j;<br />
int max;</p>
<p>FILE *datei;<br />
class verein{<br />
public:<br />
int st;<br />
int punkte;<br />
int posT;<br />
int negT;<br />
char name[20];<br />
};</p>
<p>verein V[anzahl+1];</p>
<p>void fvereineinlesen(FILE *f){<br />
verein V[anzahl+1];<br />
for(i=0;i&lt;anzahl;i++){<br />
fscanf(f,&quot;%2d&quot;,&amp;V[i].st);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].punkte);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].posT);<br />
fscanf(f,&quot;%3d&quot;,&amp;V[i].negT);<br />
fscanf(f,&quot;%s\n&quot;,&amp;V[i].name);</p>
<p>printf(&quot;\n\t\t&gt;%d &quot;,V[i].st);<br />
printf(&quot;%d &quot;,V[i].punkte);<br />
printf(&quot;%d &quot;,V[i].posT);<br />
printf(&quot;%d &quot;,V[i].negT);<br />
printf(&quot;%s&quot;,V[i].name);<br />
}<br />
printf(&quot;\nTabelle wurde eingelesen&quot;);<br />
}<br />
void vereinausgabe(){<br />
for(i=0;i&lt;anzahl;i++){<br />
if(i&lt;9){printf(&quot;\n &quot;);}else{printf(&quot;\n &quot;);}<br />
printf(&quot; %d | %2d | %s&quot;,i+1,V[i].st,V[i].name);<br />
for(j=strlen(V[i].name);j&lt;23;j++){printf(&quot; &quot;);}<br />
printf(&quot;| %3d | %3d | %3d | %3d &quot;,V[i].punkte, V[i].posT, V[i].negT, V[i].posT-V[i].negT);<br />
}<br />
}<br />
void sortieren(){<br />
for(i=0;i&lt;anzahl-1;i++){<br />
max=V[i].punkte;<br />
for(j=i+1;j&lt;anzahl;j++){<br />
if(V[j].punkte&gt;V[i].punkte){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}else{<br />
if(V[j].punkte==V[i].punkte){<br />
if(V[j].posT-V[j].negT&gt;V[i].posT-V[i].negT){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}else{<br />
if(V[j].punkte==V[i].punkte){<br />
if(V[j].posT-V[j].negT==V[i].posT-V[i].negT){<br />
if(V[j].posT&gt;V[i].posT){<br />
V[anzahl+1]=V[j];<br />
V[j]=V[i];<br />
V[i]=V[anzahl+1];<br />
}<br />
}<br />
}</p>
<p>}}<br />
}<br />
}<br />
}<br />
}</p>
<p>//Hauptprogramm<br />
int main(){<br />
printf(&quot;\n Programm zum Einlesen einer Datei und anschliessende Ausgabe \n\n&quot;);<br />
datei = fopen(&quot;tabelle.dat&quot;,&quot;r+&quot;);<br />
if(!datei){<br />
printf(&quot;\tKeine Datei vorhanden\n&quot;);<br />
system(&quot;PAUSE&quot;);<br />
return 0;//1;<br />
}<br />
fvereineinlesen(datei);<br />
sortieren();<br />
printf(&quot;\n\n\n Pos.| ST | Verein |Punkte| +Tor | -Tor | Tordiff.&quot;);<br />
printf(&quot;\n-----+----+--------------------------+------+------+------+---------&quot;);<br />
vereinausgabe();<br />
printf(&quot;\n\n\n\t&quot;);<br />
system(&quot;PAUSE&quot;);<br />
return 0;<br />
}</p>
<p>ich bedanke mich schonmal im vorraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977603</guid><dc:creator><![CDATA[polle]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 08:56:36 GMT]]></title><description><![CDATA[<p>lol ey. was ein style.</p>
<pre><code class="language-cpp">void sortieren()
{
        for(i=0;i&lt;anzahl-1;i++)
        {
                max=V[i].punkte;
                for(j=i+1;j&lt;anzahl;j++)
                {
                        if(V[j].punkte&gt;V[i].punkte)
                        {
                                V[anzahl+1]=V[j];
                                V[j]=V[i];
                                V[i]=V[anzahl+1];
                        }
                        else
                        {
                                if(V[j].punkte==V[i].punkte)
                                {
                                        if(V[j].posT-V[j].negT&gt;V[i].posT-V[i].negT)
                                        {
                                                V[anzahl+1]=V[j];
                                                V[j]=V[i];
                                                V[i]=V[anzahl+1];
                                        }
                                        else
                                        {
                                                if(V[j].punkte==V[i].punkte)
                                                {
                                                        if( V[j].posT-V[j].negT==V[i].posT-V[i].negT)
                                                        {
                                                                if(V[j].posT&gt;V[i].posT)
                                                                {
                                                                        V[anzahl+1]=V[j];
                                                                        V[j]=V[i];
                                                                        V[i]=V[anzahl+1];
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
 }
</code></pre>
<p>schonmal was von einem UND gehört</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977624</guid><dc:creator><![CDATA[masterfu]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 09:04:24 GMT]]></title><description><![CDATA[<p>Punkt 1: Verwende bitte cpp-Tags, dann sieht das ganze viel Schöner aus.<br />
Punkt 2: Wenn du schon in C++ schreibst, dann schmeiß scanf/printf aus dem Programm raus und verwende stattdessen IO-Streams.<br />
Punkt 3: Das Element V[anzahl+1], das du bei deinem Sortier-Algorithmus verwendest, liegt außerhalb des definierten Arrays.<br />
Punkt 4: Ich schlage vir, du nutzt die STL für die Aufgabe (wenn erlaubt): set&lt;verein&gt; könnte ganz praktisch sein (benötigt allerding einen Vergleichsoperator).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977631</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Fri, 27 Jan 2006 09:04:24 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 09:38:11 GMT]]></title><description><![CDATA[<p>du kannst ja mal den aufruf von sortieren() auskommentieren. wenn dann immer noch überall 0 rauskommt, dann kanns nicht an der sortierroutine liegen.</p>
<p>einen testlauf kann ich für dich nicht machen, weil mir die datei tabelle.dat fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977654</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Fri, 27 Jan 2006 09:38:11 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 09:58:09 GMT]]></title><description><![CDATA[<p>*nochmal genauer hinschaut*</p>
<pre><code class="language-cpp">verein V[anzahl+1]; 

void fvereineinlesen(FILE *f)
{ 
  verein V[anzahl+1];
  ...
}
</code></pre>
<p>Du hast ein globales Array V, das von vereinausgabe() und sortieren() auch benutzt wird, und ein lokales Array V in fvereineinlesen(), in das du die eingelesenen Daten einträgst - ersteres wird nie mit sinnvollen Werten belegt, während letzteres am Ende der Funktion im Nirvana verschwindet.</p>
<p>Lösung: Lösch die lokale Definition &quot;verein V[anzahl+1];&quot;</p>
<p>Lösung 2: Denk nochmal genauer über dein Programmdesign nach. (das fängt an bei globalen Variablen und geht über die Stream-Nutzung (wozu bindest du &lt;iostream&gt; und &lt;fstream&gt; ein, wenn du dann doch mit den &lt;cstdio&gt;-Methoden arbeitest?) bis hin zur Bedeutung und Reichweite von Array-Indizes)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977666</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Fri, 27 Jan 2006 09:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE! on Fri, 27 Jan 2006 11:41:01 GMT]]></title><description><![CDATA[<p>ja jetzt hab ich den fehler gesehen, jetzt gibt er wenigstens die tabelle ordentlich aus, ABER sie ist ungeordnet! und ich weiß nicht warum?</p>
<p>die datei: tabelle.dat sieht folgender maßen aus:</p>
<p>(spieltage; punkte; Tore; Gegentore; Name)</p>
<p>15 45 64 45 verein1<br />
15 43 54 47 verein2<br />
15 42 44 43 verein3<br />
.<br />
.<br />
.</p>
<p>und genau in der reihen folge gibt er die wieder aus!??</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/977774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977774</guid><dc:creator><![CDATA[polle]]></dc:creator><pubDate>Fri, 27 Jan 2006 11:41:01 GMT</pubDate></item></channel></rss>