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

UptoLike

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

51
}
return true;
}
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() {
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)) {
str = str.Remove(i, len);
} else {
i = i + len;
}
}
}
}
8. Тогда алгоритм обработки файла будет очень простым. Для того, чтобы
обработать строку, мы должны создать экземпляр StringWorker и с его
помощью обработать одну строку. И так для каждой строки.
public void processFile(string inFileName, string
outFileName) {
string[] content = File.ReadAllLines(inFileName);
string[] processLines = new string[content.Length];
for (int i = 0; i < content.Length;i++ ) {
StringWorker worker = new StringWorker();
worker.str = content[i];
worker.processString();
processLines[i] = worker.str;
}
File.WriteAllLines(outFileName, processLines);
}