C++ 2 - Seite 2 |
| 11.03.2016, 17:52 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Aber ich muss sagen ,dass ich es in diesem Forum gut verstehe .
Vielleicht kann ich ja dann das erlernte bei einer neuen Aufgabe später selbst anwenden Was sind n und newn für Datentypen? Int denke ich ,aber es ist im Algorithmus nicht definiert Was ist numbers und wo implementiert es die Funktion swap() ?
Warum steht das in der Funktion print? Stimmt muss ja hier stehen ,weil es ja sortiert ausgegeben wird
Blöd von mir.void CTeamTable::sort() { for (int i = 0; i < m_curEntry; i++) { for (int j = 0; j < m_curEntry - 1; j++) { if (m_pTable[j+1] < m_pTable[j]) { CTeam tmp = m_pTable[j]; m_pTable[j] = m_pTable[j+1]; m_pTable[j+1] = tmp; } } Das mit dem swap muss ich noch einbauen im Algoritmus oder? |
||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
| 11.03.2016, 17:57 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Ich hätte den Rest vielleicht auch reinkopieren sollen. Das swap entspricht dem hier:
Mit der Frage nach den Datentypen wollte ich darauf hinaus, dass du Variablen verwendest, die du nie definiert hast. Das kann gar nichts werden.
|
||||||||||||||||||||||||||||||
| 12.03.2016, 16:48 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | e) CTeamTable tabelle[10]; Mit 10 Speicherplätzen muss man doch mit array darstellen ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 16:52 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Nein. EINE Tabelle, aber 10 teams in der Tabelle.
|
||||||||||||||||||||||||||||||
| Anzeige | |||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
| 12.03.2016, 16:57 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Und dieses table hatten wir irendwie voher definiert ? Wie wird denn einfach so speicher angelegt ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 16:59 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Das ist ein Aufruf des Konstruktors von CTeamTable. Und der ist bereits umgesetzt. |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:05 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Die Objekte hinzufügen . So?
|
||||||||||||||||||||||||||||||
| 12.03.2016, 17:08 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Hast du dir meine main Funktion angeschaut (Beitrag Gestern, 17:57)? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:12 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Aber durch die main bekomme ich doch nicht ganz genau die gleiche aUSGABE WIE IM beispiel oder ? Man das ist alles richtig schwer |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:15 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Weil ich die f) nicht umgesetzt habe. Dein Versuch ist syntaktisch nicht richtig. Und schwer ist relativ
|
||||||||||||||||||||||||||||||
| 12.03.2016, 17:18 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Ok dann versuchen wir zuerst einmal die f) zu implementieren . Die e) muss ich mir glaub ich heute abend nochmal in ruhe anschauen. Bei der f) welche zwei Teams sind denn gemeint ? WIr haben doch bayern ,bvb und Werder? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:20 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Wirf man einen Blick auf die Ausgabe. Wie unterscheidet sich die erste von der zweiten Tabelle? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:23 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Die Punkte ,Tore usw sind anders ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:25 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Und welche beiden Teams könnten da gegeneinander gespielt haben? Und wie ist es ausgegangen? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:33 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Alle teams haben jeweils gegeneinader gespielt ? Aber wie es jeweils ausgegangen ist ,verstehe ich nicht . Kann die Ergebnisse nicht ganz interpretieren? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:36 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Dortmund hat in der 1. Tabelle eine Tordifferenz von 4:1, in der 2. von 5:1. Dann hat der BVB wohl mit 1:0 gewonnen. Und zwar gegen Bremen, die ihre Differenz um 1 verschlechtert haben. |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:43 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Ah jetzt verstehe ich es
Also wie muss ich jetzt die Speicherpositionen von beiden festhalten ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:46 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Die Teamnamen werden als strings übergeben. Da hilft nur suchen. |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:50 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Hier wird doch der Name des Teams ausgegeben? ostream& operator << (ostream &out, const CTeam &rop) { out<<"CTeam@" << rop.m_winsTotal<< "Spiele gewonnen " << " , " << rop.m_equalTotal << " Spiele unentschieden"<< endl; out << "CTeam@"<< rop.m_goalsScoredTotal << " Tore erzielt " <<" , " << rop.m_goalsReceivedTotal << " " << " Tore kassiert "<< endl; }; |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:52 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Es hatte einen Grund, dass ich alles kopiert habe. Die Ausgabe hatte ich ausgetauscht. |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:58 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger |
Mithilfe von rop wird ja der teamname ausgegeben? |
||||||||||||||||||||||||||||||
| 12.03.2016, 17:59 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | rop ist erstmal das Team Objekt. Aber damit kannst du dann auf den Teamnamen zugreifen, ja. |
||||||||||||||||||||||||||||||
| 12.03.2016, 18:05 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Die Speicherpositionen wären demnach doch: rop.Werder; und rop.Bvb; ? Danke das du soviel Lust hast zu erklären. In anderen Foren ist das meist nicht so. |
||||||||||||||||||||||||||||||
| 12.03.2016, 19:14 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | rop ist die lokale Variable in der operator << Funktion (und es gibt kein rop.Werder, oder ist Werder eine Klassenvariable von CTeam?). Du musst CTeamTable::addResult implementieren. Da kannst du über m_pTable auf die Teams zugreifen und den m_teamName mit den übergebenen Mannschaften vergleichen. |
||||||||||||||||||||||||||||||
| 12.03.2016, 19:45 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Dann muss ich wieder mit thispfeiladdresult arbeiten oder ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 19:50 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Nein. In der Main arbeitest du mit
in addResult brauchst du eine Schleife, die die vorhandenen Einträge (m_pTable[i].m_teamName) mit den übergebenen Namen vergleicht. |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:29 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | if(m_pTable[i].m_teamName== ......) sowas in etwa ? Und die namen sind dann rop.TeamName? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:31 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Da gibt es kein rop. Schreibe mal den Funktionskopf von addResult hin. |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:32 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | if(m_pTable[i].m_teamName== thispfeil addResult()) So in etwa? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:34 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Ein Funktionskopf ist das, was im Header steht. |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:36 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | bool addResult(string team1,string team2,unsigned int goalsTeam1, unsigned int goalsTeam2) Das ist ja der FUnktionskopf . Wie geht es weiter? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:39 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | jetzt muss ich ja m_pTable[i].m_teamName dem Funkionskopf irgendwie hinzufügen ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:39 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Wie heißen jetzt die Teamnamen, nach denen du suchen musst? Es ist nicht this->addResult(). |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:42 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | this->m_pTable[i].m_teamName ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:44 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Und womit vergleichen wir das wohl? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:45 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | if(this->m_pTable[i].m_teamName == addResult()) ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:49 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | Du sollst nicht raten (zumindest nicht so schlecht). addResult liefert ein bool, wie soll ein string gleich einem bool sein? Schau mal, was an die Funktion übergeben wird: bool addResult(string team1,string team2,unsigned int goalsTeam1, unsigned int goalsTeam2) Vergleichen wir doch m_pTable[i].m_teamName mit team1, um die Heimmannschaft zu finden. Und strings vergleichst du nicht mit ==, zumindest nicht in C++. |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:53 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Ich habe bisschen gegoogelt und gelesen: strcmp(m_pTable[i].m_teamName,team1 ) Damit würde ich das doch vergleichen oder ? |
||||||||||||||||||||||||||||||
| 12.03.2016, 20:57 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| progger | Wieso machen wir es niht gleich so? strcmp(team1,team 2 ) |
||||||||||||||||||||||||||||||
| 12.03.2016, 21:02 | Auf diesen Beitrag antworten » | ||||||||||||||||||||||||||||||
| eulerscheZahl | In m_pTable steht die Tabelle drin. In team1 und team2 2 Mannschaften, die gegeneinander gespielt haben. Das sind unterschiedliche Dinge. Ziel ist es, team1 und team2 in der Tabelle zu finden. Dann kann man auf die Teams zugreifen und ihnen das Ergebnis zuweisen. Und damit die strings gleich sind, muss natürlich gelten: strcmp(m_pTable[i].m_teamName, team1) == 0. Ich bin weg für heute. |
||||||||||||||||||||||||||||||
|
|
