Hola gerupc,
Puedes trabajar a un string como si fuera un vector. De hecho... lo es.
Un string comienza a numerarse desde 1. De modo que la palabra HOLA, se puede interpretar así:
Posición-Valor
1-H
2-O
3-L
4-A
Entonces si yo hago:
Obtengo en la variable Letra (tipo Char, o string. Tu elije) la letra O. Siendo HOLA del tipo string.
Existen funciones que te permiten conocer la longitud de un string: Length() y también una función que busca una cadena dentro de otra: Pos().
Con estas dos funciones puedes conseguir lo que buscas.
Es una idea, lo que propongo. En lo personal, prefiero evitarme hacer esos tipos de arrays que usas...
En cuanto a lo caracteres no alfabéticos... ¿Podrías indicar cuales deben ser? ¿Son estos: !"%&$....?¿Alguno "raro"... como este: ¼?
Si no puedes emplear funciones... como en los otros ejercicios hazme saber.
Saludos,