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.