Fandom

Scratchpad

PLE:Unidad5Ejercicio07

216,210pages on
this wiki
Add New Page
Discuss this page0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

/*
programa:       ejH507
fecha:          11/04/07
Descipcion:     Lee un fichero de texto y escribe unalista de palabras ordenadas.
*/

#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<fstream.h>

struct nodo{
        char p[20];
        nodo *ps;
};

void main()
{
        ifstream fe;
        ofstream fs;
        nodo *raiz=NULL,*nuevo=NULL, *anterior;
        char palabra[20];

        fe.open("texto.txt"):
        fs.open("palabras.txt");

        if(fe.bad() || fs.bad())
        {
                exit(0);
        }
        else
        {
                while(!fe.eof())
                {
                        fe >> palabra;

                        // creamos el nodo
                        nuevo=new nodo;
                        // Introduzco la palabra en el nodo
                        strcpy(nuevo->p,palabra);

                        // Buscamos el nodo anterior
                        if(raiz==NULL || strcmp(raiz->p,palabra) >= 0){
                                nuevo->ps = raiz;
                                raiz = nuevo;
                        }else {
                                anterior = raiz;
                                while(anterior->ps != NULL && strcmp(anterior->ps->p,palabra) < 0){
                                        anterior = anterior->ps;
                                }
                                nuevo->ps = anterior->ps;
                                anterior->ps = nuevo;
                        }
                }
        }

        // imprimir lista
        cout << endl << endl << "Lista de palabras ordenadas" << endl;
        nuevo=raiz;
        while(nuevo!=NULL)
        {
                // Muestra datos del nodo
                cout << nuevo->p << "\t";
                // Saltamos al siguiente
                nuevo = nuevo->ps;
        }
        fs.close();
        fe.close();

        cin.ignore();
        cin.get();
}

Also on Fandom

Random wikia