Christoph Zurnieden: (C) Seltsame Sortierung

Beitrag lesen

Hallo zusammen,

Ja,  C++, [...]

Dann schreib auch C++ ;-)

Ja eben! ;-)

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>

#ifdef _WIN32
using namespace std;

pragma warning(disable:4786) // strings werden laaaang ;-)

#endif

using namespace std;

int main (void)
{

// Hier rein kommen alle Strings während der
  // Benutzer sie fleißig eingibt.
  vector<string> v;

// alle eingebeben Strings kommen an's Ende des Vectors v
  copy (istream_iterator<string> (cin),
          istream_iterator<string> (),
          back_inserter (v));

// sortieren. Aber Vorsicht: ist nur ASCII!
  sort (v.begin(), v.end());

// Vector ausgeben, oben anfangen.

//Erstmal 'n Strich ;-)
   cout << "______________________________________________" << endl;
  //Dann die eigentliche Ausgabe
   copy (v.begin(), v.end(),
          ostream_iterator<string> (cout, "\n"));

//Wir sind _ordentliche_ Schlampen! ;-)
  return 0;
}

Bauen (falls der GCC zur Hand, für andere Compiler bitte in die Doku schauen. Die WIN-Anpassung habe ich mir schon erlaubt zu tätigen):

bash $ gcc -W -Wall -pedantic -ansi -o sort sort.cpp -lstdc++

Ausprobieren:

bash $ ./sort
sdf
hjk
ert
wer
ölkj
äsdf
(^D)
_________________________________________
ert
hjk
sdf
wer
äsdf
ölkj

Das ^D in Klammern bedeutet, das in der Bash STRG+D gedrückt werden muß, damit das Dingen das passende Signal bekommt.

Viel Spaß beim Ausbauen wünscht

Christoph Zurnieden