Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Problem C++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
27.08.2017, 18:47 Uhr
ao

(Operator)


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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
28.08.2017, 16:22 Uhr
Alex33




C++:

Calendar& operator+=(const CCalendarEntry& entry){

    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(unsigned int i = 0; i < m_numberOfEntries; i++) {

    if(m_date> CCalendarEntry [m_numberofEntries + 1]){
        weiter immer noch keine Ahnung ?
                
                Ein kleiner tipp nochmals?
        
        


    }
    }
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
28.08.2017, 17:17 Uhr
ao

(Operator)



C++:
    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(unsigned int 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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
28.08.2017, 18:25 Uhr
Alex33




C++:
Calendar& operator+=(const CCalendarEntry& entry){

    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(unsigned int 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

    }



Ich habe wieder probiert .

Stimmt jetzt wenigstens teilweise ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
28.08.2017, 19:25 Uhr
ao

(Operator)


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.

Was studierst du eigentlich?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
28.08.2017, 20:16 Uhr
Alex33



Etechnik aber ich habe auch 1 Fach programmieren

C++:
Calendar& operator+=(const CCalendarEntry& entry){

    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(unsigned int 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 .

Ist der teil hier richtig ?

f( CCalendarEntry [i] >CCalendarEntry [i+ 1]){

CCalendarEntry [i] = CCalendarEntry [i+ 1];

CCalendarEntry [i+ 1]= new Entries;
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
28.08.2017, 23:35 Uhr
Alex33



Habe jetzt den insertion Sort Algorithmus genommen und versucht anzuwenden :

[CODE]


Calendar& operator+=(const CCalendarEntry& entry){


CCalendarEntry * newEntries = new CCalendarEntry [m_numberofEntries + 1];
unsigned int i,temp,j,m_numberofSize;
for(i=1; i<m_numberofSize; i++){

temp = CCalendarEntry[i];
j= i-1;
while(j>=0 && CCalendarEntry[j]< temp){
CCalendarEntry[j+1] = CCalendarEntry[j];
j--;

}
CCalendarEntry[j+1]= temp;
}

}



}
}

[/CODE]

Wie sieht es jetzt aus ?

Bisschen besser ?

Oder wieder quatsch?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
30.08.2017, 00:13 Uhr
Alex33



/*
* CCalendar.cpp
*
* Created on: 21.08.2017
* Author: vaio
*/


C++:
#include "CCalendar.h"
  
  
  
  
CCalendar::CCalendar() {
  
  
}
  
CCalendar::~CCalendar() {
    if( m_entries >=0 ){
    delete m_entries;
    }
}
  
Calendar& operator+=(const CCalendarEntry& entry){
  
    CCalendarEntry * oldEntries = m_entries;
    CCalendarEntry * newEntries = new CCalendarEntry[m_numberofEntries+1];
    
    for(i=1; i<m_numberofSize; i++){
        
        oldEntries[i] = newEntries[i];.
        newEntries [i] = newEntries[i+1];
        }
    m_entries = newEntries;  // m_entries auf das neue Array zeigen lassen
        delete [] oldEntries;  // das alte Array zerlegen
  
        }



Ich habe noch probleme wie ich das mit dem zusammenfügen der richtigen Reihenfolge hin bekomme ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: