Юлия
Юлия

Помогите функцию оптимизировать

function str_cut(var str: System.String): System.String;
var
i, k : integer;
tmp_s: System.String;
flag: boolean; // флаг найдено слово или нет
begin
flag := false; // устанавливаем флагу значение "ложь" т. е. слово не "собрано"
i := 1;k := 0; //присваем индексу значение 1, а кол-ву разделителей значение 0
while (i <= length(str)) do // пока индекс не равен длинне строки
begin
tmp_s := ''; // обнуляем значение временной переменной в которую будет "собираться" слово
if (str[ i ] in rz) then // если i-й символ во множ-ве разделителей то
begin
inc(i);inc(k) // переходим к следующему и увеличиваем разделитель на 1
end
else
while ((i <= length(str)) and (not (str[ i ] in rz)) ) do // Пока i <= длинне строки и символ не является разделителем
begin
tmp_s := tmp_s + str[ i ]; // производим слияние строки с символом
inc(i); // увеличиваем индекс
flag := true // устанавливаем флаг в истинну т. к. слово начало "собираться"
end;
if (flag = true) then // если слово было собрано
begin
str_cut := tmp_s; // возвращаем его через функцию
break; // прерываем цикл по строке
end;
end;
delete(str, 1, length(tmp_s) + k); // удалаяем из строки str, c 1й позиции, символов = длинне слова + кол-во разделителей (length(tmp_s) + k)
end;

Собственно задача в том, чтобы написать программу которая подсчитает кол-во слов в файле. Данная функция нарезает предложение на слова. Работать то работает точно, но блин тяжко как-то. Можно как-то оптимизировать? Может у кого есть свежая идея? )
И еще, если кто знает киньте ссылку на сайте где код можно вставить и поделиться им, а то я потерял адрес.

тяжко в смысле скорости выполнения

ЛЯ
Лёша Я

Словом в предложении можно принимать любой набор символов в конце которого есть пробел.
1. читаешь строку.
2. в конец строки дописываешь пробел
3. в цикле от второго символа к последнему проверяеш, если символ "под счетчеком" равен пробелу и предыдущий символ не пробел - увеличиваешь счетчик количества слов

Похожие вопросы
Помогите с функцией в Excel
пожалууууйста помогите!!! С++, ФУНКЦИИ
Помогите с функцией ReadKey
Пользовательские функции. Помогите!
Помогите с задержкой функции!
Помогите написать функцию на С++
Как оптимизировать формулу в Excel?
Помогите с С++. Задача на функции.
как оптимизировать изображение для вконтакте?
Помогите оптимизировать запрос MySQL