Joder que mala pinta tiene ese codigo
No me acuerdo de lo que podia hacer C pero se me ocurre que se puede resolver facilmente con las funciones de las cadenas
Si metes todo el texto como si fuera una cadena le puedes hacer por ejemplo
texto.Contains("Palabra) y te devuelve si el texto tiene esa palabra
texto.Split("Palabra") te devuelve un array de strings partidos donde se ha encontrado esa palabra. Array.lenght - 1 = numero de apariciones de esa palabra en el texto
Con eso y un par de if y un par de FOR deberia ser suficiente
Salu2