Tabelle sortieren mit arrays

aRR

Grünschnabel
Hallo, ich habe folgendes problem. Ich habe hier ein Code das eine Eingabe von Zahlen ermöglicht die dann Sortiert werden. Das ganze soll aber so ablaufen das es gleichzeitig die vorherigen Werte in die nächste Sortierroutine übernimmt.
Also wenn ich in der ersten (Fussball) Tabelle, will ich Punkte eingeben Z.b. Schalke 1. Dann beim nächsten durchlauf gebe ich zB 3 ein, dann soll er aber die erste Eingabe beim sortieren mit berücksichtigen!
Ich hoffe ihr wisst was ich meine. Das ganze 3mal ( 3 Spieltage )

Hier mein Code, danke im vorraus
_____________
Code:
__________________________________________________
 #include <iostream.h>

char *Teams[10] = {
"Bremen      ",
"Bayern      ",
"Koeln       ",
"Leverkusen  ",
"Bochum      ",
"Schalke     ",
"Dortmund    ",
"Hamburg     ",
"Rostock     ",
"Hertha      "};

char *Table[10];

int Points[10];

void sort()

{
cout << "      Tabelle am ende des Spieltages\n";
bool ende = false;

while(!ende)

{

	ende = true;
	for (int x = 0; x < 9; x++)
	if (Points[x] < Points[x+1])
	
	{
		int i;
		char *p;
		i = Points[x];
		Points[x] = Points[x+1];
		Points[x+1] = i;
		p = Table[x];
		Table[x] = Table[x+1];
		Table[x+1] = p;
		ende=false;

}

}

}

int main()

{


for (int a = 0; a < 10; a++)

{

	Table[a] = Teams[a];
	Points[a] = 0;

}
cout << "                  Bitte		 \n";
cout << "  Die Punktezahl eingeben die das Team an\n";
cout << "        dem Spieltag erzielt hat\n";
cout << "									\n";
cout << "											\n";

//=====================================================================
cout << "\n";
cout << "1. Spieltag\n";


for (int b=0; b<10; b++)

{

	cout << Table[b] << ": ";
	cin >> Points[b];

}

sort();

for (int c = 0; c < 10; c++)

{
    
	cout << Table[ c] << ": " << Points[ c] << endl;

}

//======================================================================
cout << "\n";
cout << "2.Spieltag\n";


for (int d=0; d<10; d++)

{

	cout << Table[d] << ": ";
	cin >> Points[d];

}

sort();

for (int e = 0; e < 10; e++)

{

	cout << Table[e] << ": " << Points[e] << endl;

}

//======================================================================
cout << "\n";
cout << "3.Spieltag\n";


for (int t=0; t<10; t++)

{

	cout << Table[t] << ": ";
	cin >> Points[t];

}


sort();

for (int i = 0; i < 10; i++)

{

	cout << Table[i] << ": " << Points[i] << endl;


}

sort();



for (int h=0; h<10; h++)
{
cout << &Points[i] - &Points[e] << endl;





}
sort();







	
return 0;

}
 
Wenn du möchstet, das sich das jemand anschaut, dann mach bitte Code-Tags um deinen Code, ja? Danke! So kann man es nämlich nur mit sehr viel Mühe lesen.

Ausserdem ist mir die Fragestellung nicht klar - funktioniert irgendwas nicht?
 
Sorry wegen der Code-Tags aber ich bin Totaler Anfänger hier.
Und ich hatte es sehr eilig.
Wär cool wenn mir einer trozdem helfen könnte, beim nächsten mal werde ich es besser machen!

So wie der Code da ist, funktioniert es, nur ich würde gern haben das er beim sortieren die vorherigen eingaben berücksichtigt.

Kann sich bitte einer das mal angucken der mehr davon versteht als ich? wär nett
 
Und ich hatte es sehr eilig.
Soviel Zeit sollte schon sein - findest du nicht?

Ich habe es mal formatiert, weil ich den Code sonst nicht lesen kann:
Code:
#include <iostream.h>

char *Teams[10] = {
  "Bremen ",
  "Bayern ",
  "Koeln ",
  "Leverkusen ",
  "Bochum ",
  "Schalke ",
  "Dortmund ",
  "Hamburg ",
  "Rostock ",
  "Hertha "};

char *Table[10];
int Points[10];

void sort()
{
  cout << " Tabelle am ende des Spieltages\n";
  bool ende = false;

  while(!ende)
  {
    ende = true;
    for (int x = 0; x < 9; x++)
      if (Points[x] < Points[x+1])
      {
        int i;
        char *p;
        i = Points[x];
        Points[x] = Points[x+1];
        Points[x+1] = i;
        p = Table[x];
        Table[x] = Table[x+1];
        Table[x+1] = p;
        ende=false;
      }
  }
}

int main()
{
  for (int a = 0; a < 10; a++)
  {
    Table[a] = Teams[a];
    Points[a] = 0;
  }
  cout << " Bitte \n";
  cout << " Die Punktezahl eingeben die das Team an\n";
  cout << " dem Spieltag erzielt hat\n";
  cout << " \n";
  cout << " \n";

  //=====================================================================
  cout << "\n";
  cout << "1. Spieltag\n";

  for (int b=0; b<10; b++)
  {
    cout << Table[b] << ": ";
    cin >> Points[b];
  }

  sort();

  for (int c = 0; c < 10; c++)
  {
    cout << Table[ c] << ": " << Points[ c] << endl;
  }

  //======================================================================
  cout << "\n";
  cout << "2.Spieltag\n";

  for (int d=0; d<10; d++)
  {
    cout << Table[d] << ": ";
    cin >> Points[d];
  }

  sort();

  for (int e = 0; e < 10; e++)
  {
    cout << Table[e] << ": " << Points[e] << endl;
  }

  //======================================================================
  cout << "\n";
  cout << "3.Spieltag\n";

  for (int t=0; t<10; t++)
  {
    cout << Table[t] << ": ";
    cin >> Points[t];
  }

  sort();

  for (int i = 0; i < 10; i++)
  {
    cout << Table[i] << ": " << Points[i] << endl;
  }

  sort();

  for (int h=0; h<10; h++)
  {
    cout << &Points[i] - &Points[e] << endl;
  }

  sort();

  return 0;
}

So wie der Code da ist, funktioniert es, nur ich würde gern haben das er beim sortieren die vorherigen eingaben berücksichtigt.
Das passiert doch wohl, oder wie meinst du das? Bin wohl noch nicht ganz wach, jedenfalls verstehe ich es nicht.

Und daraus werde ich nicht schlau:
Code:
  for (int h=0; h<10; h++)
  {
    cout << &Points[i] - &Points[e] << endl;
  }
Wozu dient die Schleife?
 
Die Schleife, habe ich leider vergessen weg zu machen ! Hatte keine relevante funktion.
Noch mal zu dem Problem das ich habe.
Zb
Am ersten "Spieltag"
ich gebe ein, dass Schalke 1 Punkt bekommt , alle anderen Teams 0 Punkte. Dann wird sortiert und Schalke ist ganz oben in der Tabelle mit EINEM Punkt.
Am zweiten "spieltag" bekommt schalke wieder 1 Punkt, alle anderen 0 Punkte.
Jetzt soll er beim Sortieren, den Punkt den Schalke am ersten Spieltag bekommen hat, mit berücksichtigen und in der Ausgabe soll dann Schalke 2 Punkte haben, weil Schalke am ersten- und am zweiten- Spieltag jeweils 1 Punkt bekommen hat.

Bei dem Code der hier gepostet ist, wird NUR die worherige eingabe Sortiert und am Nächsten spieltag wieder alles auf 0 gesetzt.

Ich hoffe ihr wisst was ich nun meine.

Und THX das du mir das gemacht hasst...
 
Also, wenn ich dich richtig verstanden habe, müssen die neuen Punkte nur auf die alten Punkte draufaddiert werden, oder? Das könntest du so erreichen:
Code:
  for (int d=0; d<10; d++)
  {
    cout << Table[d] << ": ";
    int temp;
    cin >> temp;       //Eingabe erfolgt in temporäre Variable
    Points[d] += temp; //Auf schon vorhandene Punkte draufaddieren
  }
 
Zurück