Вывод слов в алфавитном порядке

                Never    
C++
       
#include "stdafx.h"
#include <windows.h>
#include <locale.h>
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

int HowWordsInFile (void) {
	
	int Count = 0;
	string Str = "\0";
	ifstream Read ("text.txt"); // открываем поток и считываем файл text.txt
	
		while (Read >> Str) // считываем до тех пор, пока есть что считывать
			Count++;
			
	Read.close (); // закрыть поток
			
	return Count; // возвращаем число слов в файле
	
} // функция для подсчета количества слов в файле

int main (void) {

    setlocale (LC_CTYPE, "Russian"); // кириллица в консоли
    system ("title Лабораторная работа № 9, вариант 10");
	
	const int CountLetters = 26; // число букв в английском алфавите
	int SizeWords = 0; // количество слов во входной строке
	int Counter = 1; // счетчик слов 
	
	string letters = "abcdefghijklmnopqrstuvwxyz"; // перечень строчных букв английского алфавита
	string Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // перечень прописных букв английского алфавита
	string Stroke = "\0"; // входная строка
	cout << "Данная программа принимает на вход строку символов, состояющую из произвольного\n";
	cout << "текста на английском языке (разделены пробелами), и выводит на экран слова этого текста\n";
	cout << "в порядке, соответствующем латинскому алфавиту\n\n";
	
	cout << "Введите строку символов и слов: " << Stroke << "\n";
	getline(cin, Stroke); // ввод строки
	
	ofstream Write ("text.txt");
	Write << Stroke;
	Write.close (); // запись в файл входной text.txt строки
	
	SizeWords = HowWordsInFile (); // запись количества слов в файле
	string Words[SizeWords]; // создаем массив строк
	
	
	ifstream Read ("text.txt");
	
		for (int i = 0; i < SizeWords; i++) {
			
			Read >> Stroke; // считываем слова из файла
			Words[i] = Stroke; // записываем в массив слова
			
		}
			
			for (int k = 0; k < CountLetters; k++) {
			
				for (int c = 0; c < CountLetters; c++) {
				
					for (int g = 0; g < SizeWords; g++) {
					
						string Temp = Words[g]; // записываем во временную строку Temp очередную строку из массива Temp
					
							if (Temp[0] == letters[k] || Temp[0] == Letters[k]) { // берем первую букву строки Temp, и ищем сходство с строчным и прописным алфавитои
						
								cout << Counter << ": " << Temp << "\n";
								Words[g] = "\0"; // удаляем слово
								Counter++;
								break;
						
							}
					
					}
			
				}
			
			}

		
	Read.close ();

    system ("pause");

    return 0; // завершение программы

}

Raw Text