Алгоритмическое мышление при решении задач (на примере языка C#). Шамшев А.Б - 58 стр.

UptoLike

Составители: 

58
private bool isSeparator(char c) {
string oneCharStr = "" + c;
return " .,?!".Contains(oneCharStr);
}
public int getWordLength(int index) {
int res = 0;
for (int i = index; i < str.Length; i++) {
if (isSeparator(str[i])) {
break;
}
res = res + 1;
}
return res;
}
public void processString(string lastStr) {
for (int i = 0; i < str.Length; i++) {
if (isSeparator(str[i])) {
continue;
}
int len = getWordLength(i);
string word = str.Substring(i, len);
if (needDelWord(word, lastStr)) {
str = str.Remove(i, len);
} else {
i = i + len;
}
}
}
}
5. Теперь, после решения вопроса об обработке одной строки вернемся к
обработке всего файла. По логике псевдокод алгоритма должен
выглядеть так:
Получить все строки входного файла.
Найти последнюю строку файла.
Объявить массив обработанных строк нужного размера.
Для каждой строки входного файла
НачалоЦикла
Обработать текущую строку, передав в параметрах последнюю строку
файла
Записать измененную строку в результирующий массив.
ОкончаниеЦикла
Записать массив обработанных строк в выходной файл.
6. Отметим, что файл может быть пустым. Поэтому в этом случае надо
выкинуть исключение. А последняя строка в массиве имеет номер