Einzelnen Beitrag anzeigen
Alt 23.11.2003, 23:17   #17
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Code:
#include <iostream>
#include <stdlib.h>

using namespace std;

void sort(char[]);

int main(int argc, char *argv[])
{
 char eingabe[100];

 cin>>eingabe;
 sort(eingabe);
 cout << eingabe << endl;

 system("PAUSE");	
 return 0;
}

void sort (char string[])
{
 long int i,start,len= strlen(string);
 int nochmal;
 char swap_char;

 if(len<2) return;

 for(start=0,nochmal=1;nochmal;start++)
 {
  nochmal= 0;
  for(i=start+1;i<len;i++)
  {
   if(string[start]>string[i])
   {
    nochmal= 1;
    swap_char= string[start];
    string[start]= string[i];
    string[i]= swap_char;    
   }
  }
 }
}
Sollte jetzt ohne Probleme funktionieren.

nochmal muss am Anfang mit 1 initialisiert werden, hast recht und war mein Fehler. Im if Block jedenfalls auf 1 setzen und am Anfang des Schleifenblocks auf 0. 0 steht für die Annahme, daß alles bereits sortiert ist.
kikakater ist offline   Mit Zitat antworten