Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // KWIC keyboard order
- //
- // Created by Alban Aguilar Campos on 11/13/18.
- // Copyright © 2018 Alban Aguilar Campos. All rights reserved.
- //
- //Bibliotecas
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <algorithm>
- #include <vector>
- using namespace std;
- //Funcion ordena vector de strings en orden ascendente
- void ascendente(vector<string>myVector){
- //Se despliega en pantalla las palabras ordenadas alfabeticamente
- for (int i = 0; i < myVector.size(); i++){
- cout << myVector[i] << endl;
- }
- }
- //Funcion ordena vector de strings en orden descendente
- void descendente(vector<string>myVector){
- //Se despliega en pantalla las palabras ordenadas descendentemente
- for (int i = myVector.size() - 1; i >= 0 ; i--){
- cout << myVector[i] << endl;
- }
- }
- int main(int argc, const char * argv[]) {
- int lecturaDeDatos;
- cout << "Entrada de datos por: " << endl;
- cout << "1.- Teclado" << endl;
- cout << "2.- Archivo " << endl;
- do{
- cin >> lecturaDeDatos;
- }while(lecturaDeDatos < 1 || lecturaDeDatos > 2);
- //Se declara vector de strings donde se introducen todas las palabras
- vector<string>myVector;
- string palabraPalVector;
- if(lecturaDeDatos == 1){ //Si es por teclado
- cin >> palabraPalVector; //Checa el primer valor
- if (palabraPalVector == "0" || palabraPalVector == "nil"){
- return 0;
- } //Si el primer dato es 0 o nil se acaba ejecucion
- //Mete los datos al vector de palabras hasta toparse con 0 o nil
- while (palabraPalVector != "0" && palabraPalVector != "nil"){
- myVector.push_back(palabraPalVector);
- cin >> palabraPalVector;
- }
- cout << endl << "¿Como quiere ordenarlas?" <<endl;
- cout << "1.- Ascendentemente" << endl;
- cout << "2.- Descendentemente " << endl;
- do{
- cin >> lecturaDeDatos; // reciclar variable en vez de declarar nueva
- }while(lecturaDeDatos < 1 || lecturaDeDatos > 2);
- if (lecturaDeDatos == 1){
- //Se ordenan las palabras dentro del vector alfabeticamente
- sort(myVector.begin(), myVector.end());
- ascendente(myVector);
- }else{
- //Se ordenan las palabras dentro del vector alfabeticamente
- sort(myVector.begin(), myVector.end());
- descendente(myVector);
- }
- }else{ //Si es por archivo de texto
- ifstream myReadFile;
- myReadFile.open("filename.txt");
- while (!myReadFile.eof()) {
- myReadFile >> palabraPalVector;
- if (palabraPalVector == "0" || palabraPalVector == "nil"){
- return 0;
- }//Si el primer dato es 0 o nil se acaba ejecucion
- //Mete los datos al vector de palabras hasta toparse con 0 o nil
- while (palabraPalVector != "0" && palabraPalVector != "nil"){
- myVector.push_back(palabraPalVector);
- myReadFile >> palabraPalVector;
- }
- cout << endl << "¿Como quiere ordenarlas?" <<endl;
- cout << "1.- Ascendentemente" << endl;
- cout << "2.- Descendentemente " << endl;
- do{
- cin >> lecturaDeDatos; // reciclar variable en vez de declarar nueva
- }while(lecturaDeDatos < 1 || lecturaDeDatos > 2);
- if (lecturaDeDatos == 1){
- //Se ordenan las palabras dentro del vector alfabeticamente
- sort(myVector.begin(), myVector.end());
- ascendente(myVector);
- }else{
- //Se ordenan las palabras dentro del vector alfabeticamente
- sort(myVector.begin(), myVector.end());
- descendente(myVector);
- }
- }
- myReadFile.close();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement