Und hilft das Skript nicht weiter? Oder die Übungsaufgaben? Was sagen die Kommilitonen?
Ich will dir keine Angst einjagen, aber du hast ziemlich große Lücken, wenn überhaupt keine Idee hast, wie du sowas in C++ formulieren musst. Arbeite das Skript noch mal von Anfang an durch, würde ich sagen.
CCalendarEntry * oldEntries = m_entries; // das alte Array CCalenderEntry * newEntries = new CCalendarEntry [m_numberofEntries + 1]; m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen for(unsignedint i = 0; i < m_numberOfEntries; i++) {
if(m_date> CCalendarEntry [m_numberofEntries + 1]){ weiter immer noch keine Ahnung ?
CCalendarEntry * oldEntries = m_entries; // das alte Array CCalenderEntry * newEntries = new CCalendarEntry [m_numberofEntries + 1];
// Hier musst du die bestehenden Kalenderdaten von oldEntries nach newEntries kopieren! // Die Schleife über alle Indizes ist dazu eine Super-Idee! for(unsignedint i = 0; i < m_numberOfEntries; i++) {
// Was gehört hier hin? Der Code, der den i-ten Eintrag // von oldEntries nach newEntries kopiert.
// Wenn das die Suche nach dem Platz für den neuen Eintrag werden soll: // Lass das erst mal weg und häng den neuen einfach nur hinten an. // Ist dann zwar unsortiert, aber egal, mach eins nach dem anderen. // if(m_date> CCalendarEntry [m_numberofEntries + 1])
}
m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen
// Hier (nach dem delete[]) sind nämlich die alten Einträge weg. // Wenn du sie bis jetzt nicht kopiert hast, dann sind sie verloren.
Dieser Post wurde am 28.08.2017 um 17:18 Uhr von ao editiert.
CCalendarEntry * oldEntries = m_entries; // das alte Array CCalenderEntry * newEntries = new CCalendarEntry [m_numberofEntries + 1]; m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen for(unsignedint i = 0; i < m_numberOfEntries; i++) {
if( CCalendarEntry [i] >CCalendarEntry [i+ 1]){
CCalendarEntry [i] = CCalendarEntry [i+ 1];
CCalendarEntry [i+ 1]= new Entries;
} m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen
Teilweise, ja. Aber eigentlich stocherst du im Nebel herum und probierst blind irgendwelche Sachen aus. Ich kann dir nur dringend raten, das Programmieren systematischer zu lernen, und nicht durch Ausprobieren. Die Chance, dass du zufällig das Richtige hinschreibst, ist schlechter als die auf einen Sechser im Lotto.
CCalendarEntry * oldEntries = m_entries; // das alte Array CCalenderEntry * newEntries = new CCalendarEntry [m_numberofEntries + 1]; m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen for(unsignedint i = 0; i < m_numberOfEntries; i++) {
if( CCalendarEntry [i] >CCalendarEntry [i+ 1]){
CCalendarEntry [i] = CCalendarEntry [i+ 1];
CCalendarEntry [i+ 1]= new Entries;
} m_entries = newEntries; // m_entries auf das neue Array zeigen lassen delete [] oldEntries; // das alte Array zerlegen
}
Jetzt verstehe ich net was ich machen soll damit der grössere Wert vor dem kleineren steht ?
Der grössere Wert liegt ja jetzt in meinem code bei new Entries .