#include #include #include #include #include void bubble_sort(std::vector &words_list) { for (size_t j = 0; j < words_list.size() - 1; j++) { int f = 0; for (size_t i = 0; i < words_list.size() - j - 1; i++) { if (words_list[i].compare(words_list[i + 1]) > 0) { std::swap(words_list[i], words_list[i + 1]); f = 1; } } if (!f) { break; } } return; } int main(int argc, char **argv) { enum { MAX_WORD_SIZE = 100 }; std::vector words_list; FILE *fin = fopen(argv[1], "rt"); char buf[MAX_WORD_SIZE + 1]; while (fscanf(fin, " %s ", buf) > 0 ) { words_list.push_back(std::string(buf)); } bubble_sort(words_list); fclose(fin); FILE *fout = fopen(argv[1], "wt"); for (size_t i = 0; i < words_list.size(); i++) { fprintf(fout, "%s\n", words_list[i].c_str()); } return fclose(fout); }