Sorting Text

Has anyone writting a program that asks the user for a text file and then the program sorts the
lines alphabetically and saves the result to another file?  For example, a sample run of the
program might be:

     Enter name of text file to be sorted:  C:\filename.txt
     Enter name of output file:  C:\filename2.txt
     Sorted C:\filename.txt and saved to C:\filename2.txt
strider031598Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
LucHoltkampConnect With a Mentor Commented:
RTFM means Read The ****ing Manual...it's a UNIX thing
A program layout using STL:
  Read the file line by line, each line into a string
  Store the strings in a vector<string>
  sort the vector
  write the vector to a new file

// Begin of code file
#include <string>
#include <vector>
#include <iostream.h>
#include <fstream.h>
#include <algorithm>

int main()
{
ifstream in("infile.txt");
vector<string> sorted;
while(!in.eof())
{
  string tmp;
  in >> tmp;
  sorted.insert(tmp);
}

ofstream out("sorted.txt");
sort(sorted.begin(), sorted.end()); // or: sort(sorted.begin(), sorted.end(), less<string>);
for(vector<string>::iterator i(sorted.begin()); i != sorted.end(); ++i)
  out << *i;

return 0;
}
// End of File

Or something like it. Its not tested or even compiled but it should give you an idea of a simple approach to the problem.

.luc.
0
 
vsinhaCommented:
Yes

I have implemented it by reding the text a line at a time and inserting them into a linked list.

However most Operating Systems have a very powerful sort utility which may be easier to use than writing a program.

Do you want a more detailied algorithm or source-code?
0
 
nietodCommented:
Is this a homework assignment?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
strider031598Author Commented:
vshina:  yes, I would like a source code.
nietod:  no, it's not a homework assignment.  I need a quick program that will
            sort text alphabetically (I'm writing my collection of CDs on a .txt file).
0
 
footlooseCommented:
Simple way: go to DOS prompt, say:

type unsorted.txt | sort > sorted.txt

If you insist on a program: RTFM on qsort.
0
 
strider031598Author Commented:
What's RTFM on qsort?
0
 
NexialCommented:
Simple solution is mentioned above:

  sort < usorted.txt > sorted.txt

where sort is the standard DOS sort filter.

Try 'help sort'  or sort /?  on your system at the DOS prompt.

The mks toolkit has a better sort filter if necessary.

The unix sort is at least as good as the mks one.

RTFM = READ THE (bleeped out) MANUAL

To write a program in C or any of it's derivatives to do this
use C's qsort function call, well documented in any standard
manual or on the MAN pages of any UNIX style system.   It is also in the standard on-line help of the DOS/WINxxx run time packages.

If you want to implement the quicksort (qsort) algorithm yourself, I highly recommend Knuth's "Sorting and Searching", Volume III of "The Art of Computer Programming", which covers the theory in detail.

0
 
strider031598Author Commented:
Does anyone have the source to this program?
0
All Courses

From novice to tech pro — start learning today.