cool_water Skrevet 2. september 2011 Del Skrevet 2. september 2011 Hei! Jeg skal lage et program som skal sjekke om to strenger man taster inn er anagramer. Tanken jeg har tenkt er kanskje å sortere bokstavene i strengene, ta alle bokstaver til lower case, så sammenligne for å se om de er make. Men det jeg lurer på er om det er mulig å sortere strenger? Har aldri vært borti det før. Takk for tips og hjelp Lenke til kommentar
GeirGrusom Skrevet 2. september 2011 Del Skrevet 2. september 2011 Du sorterer strenger på samme måte som du ville sortert hva som helst annet: det er bare et array av tegn. Lenke til kommentar
cool_water Skrevet 2. september 2011 Forfatter Del Skrevet 2. september 2011 Hmm, jeg har prøvd. Har brukt dette til å sortere tall, men jeg har prøvd å forandre på det slik at det skal gå an å sortere strenger, men får mange feilmeldinger. Forslag? void sort(int a[], int numberUsed) { int indexOfNextLargest; for(int index = 0; index < numberUsed - 1; index++) { indexOfNextLargest = indexOfLargest(a, index,numberUsed); swapValues(a[index], a[indexOfNextLargest]); } cout << endl; } void swapValues(int& v1, int& v2) { int temp; temp = v1; v1 = v2; v2 = temp; } int indexOfLargest(const int a[], int startIndex, int numberUsed) { int max = a[startIndex], indexOfMax = startIndex; for(int index = startIndex + 1; index < numberUsed; index++) { if(a[index] > max) { max = a[index]; indexOfMax = index; } } return indexOfMax; } Lenke til kommentar
GeirGrusom Skrevet 2. september 2011 Del Skrevet 2. september 2011 (endret) template<typename T> void Swap(T& a, T&b) { auto temp = a; a = b; b = temp; } template<typename T> void BubbleSort(T* array, const int count) { bool swapped; do { swapped = false; for(int i = 0; i < count - 1; i++) if(array[i] > array[i + 1]) { Swap(array[i], array[i + 1]); swapped = true; } }while(swapped); } Endret 2. september 2011 av GeirGrusom Lenke til kommentar
cool_water Skrevet 2. september 2011 Forfatter Del Skrevet 2. september 2011 Tusen takk for all hjelp! Men de kommer opp en feilmelding når jeg kompilerer: error C4430: missing type specifier - int assumed. Prøvde å google det, mog virker som om det er noe som ikek er spesifisert? Lenke til kommentar
GeirGrusom Skrevet 2. september 2011 Del Skrevet 2. september 2011 (endret) Ah min feil. Glemte å legge til returtyper på funksjonene (skal være void) Rettet i posten. Endret 2. september 2011 av GeirGrusom 1 Lenke til kommentar
cool_water Skrevet 2. september 2011 Forfatter Del Skrevet 2. september 2011 Tusen takk Da prøver jeg meg frem med resten av programmet Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå