Sitter med en inlämningsuppgift för den sista delen i C++ kursen.
Dock så verkar jag ha fått problem när jag ivll sortera en CArray i bokstavsordning.
Jag har följande kod:
int N = contacts.GetSize();
for (int iter = 0; iter < N-1; iter++)
{
for(int i = 0; i < N-1; i++)
{
if(contacts[i].m_sName, contacts[i+1].m_sName)
{
CString tmp_sName = contacts[i].m_sName;
contacts[i+1].m_sName = tmp_sName;
CString tmp_sAddress = contacts[i].m_sAddress;
contacts[i+1].m_sAddress = tmp_sAddress;
CString tmp_sPhone = contacts[i].m_sPhone;
contacts[i+1].m_sPhone = tmp_sPhone;
CString tmp_sEmail = contacts[i].m_sEmail;
contacts[i+1].m_sEmail = tmp_sEmail;
CString tmp_sNotes = contacts[i].m_sNotes;
contacts[i+1].m_sNotes = tmp_sNotes;
}
}
}
Tyvärr så är det så att vi fick färdig kod för denna uppgift som vi skall modifiera för att uppnå ett slutresultat. Det visade sig att den CArray som används inte är dimensionerad utan den hämtas från en class med parametrarna m_sName, m_sAddress, m_sPhone, m_sEmail och m_sNotes. Detta gör att jag inte kan använda mig av sort() då det skulle innebära att allt kommer i helt fel ordning i slutändan (jag har provat och det var en katastrof).
Därför försöker jag mig nu på en bubblesort som ser ut som ovan.
Dock så blir det väldigt konstigt. Den sorterar de två första posterna och tar bort resterade.
Någon som har ett gott öga till detta och kan hjälpa mig lite?