Gå til innhold

[Løst] c++ Mulig å sortere strenger?


Anbefalte innlegg

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
Videoannonse
Annonse

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
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 av GeirGrusom
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...