]> git.llucax.com Git - z.facultad/75.42/string.git/blob - universalstring.cpp
Se termina el TP, falta solo un poco de documentación.
[z.facultad/75.42/string.git] / universalstring.cpp
1 /* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 4:
6  * Ordena texto ASCII o Unicode.
7  *
8  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9  * Puede copiar, modificar y distribuir este programa bajo los términos de
10  * la licencia GPL (http://www.gnu.org/).
11  *
12  * Creado: Mon Sep 22 21:00:07 ART 2003
13  *
14  * $Id$
15  */
16
17 #include "ascii.h"
18 #include "unicode.h"
19 #include "universalstring.h"
20 #include "quicksort.h"
21 #include <iostream>
22 #include <vector>
23
24 using namespace std;
25
26 int main(void) {
27
28     // Ascii.
29     UniversalString< Ascii > sa("Hola mundo");
30     cout << sa << endl;
31     cin >> sa;
32     cout << sa << endl;
33
34     // Unicode.
35     UniversalString< Unicode > su("Chau mundo");
36     cout << su << endl;
37     cin >> su;
38     cout << su << endl;
39
40     // Conversión.
41     //sa = su;
42     //cout << su << endl;
43
44     // Agrego cosas al vector para ordenar.
45     vector< UniversalString< Ascii > > v;
46     v.push_back(sa);
47     sa = su;
48     v.push_back(sa);
49     v.push_back(UniversalString< Ascii >("Hola mundo!"));
50     v.push_back(UniversalString< Ascii >("Chau mundo!"));
51     // Imprimo.
52     cout << "Sin ordenar (" << v.size() << "):" << endl;
53     for (size_t i = 0; i < v.size(); i++) {
54         cout << v[i] << endl;
55     }
56     // Ordeno.
57     quicksort(v, 0, v.size() - 1);
58     // Imprimo.
59     cout << "Ordenado:" << endl;
60     copy(v.begin(), v.end(), ostream_iterator< UniversalString< Ascii > >(cout,
61                 "\n"));
62     
63     return 0;
64 }
65