Нужно составить программу, где в тексте надо заменить регистр букв только в тех словах, которые содержат 2 или более одинаковые гласные буквы. Меня интересует не вся программа, а только то место, где происходит замена. Помогите пожалуйста!
klem4
17.04.2008 12:45
есть замечательная функция
UpCase(Char): Char
(но это только для латинских букв a..z)
Если есть русские буквы,то функцию придется писать самой, благо она совсем не сложная.
Кати
17.04.2008 14:12
Я поняла как сменить регистр букв, но сделать так, чтобы регистр менялся только в словах с двумя одинаковыми гласными?
volvo
17.04.2008 14:33
Текст на слова уже разбит? (если нет - см. в прикрепленных темах этого раздела, есть то, что тебе нужно)
Предположим, что уже разбит... Смотри:
const words: array[1 .. 5] of string = ( { это разбитый на слова текст } 'begin', 'finish', 'start', 'hello', 'woorld' ); vowels = ['a', 'e', 'o', 'i', 'u']; var i, p: integer; s: string; found: boolean;
begin for i := 1 to 5 do begin s := words[i]; found := false;
p := length(s); while (p >= 1) and (not found) do begin found := (s[p] in vowels) and (pos(s[p], s) < p); dec(p); end;
if found then writeln(s); { <--- Здесь менять регистр } end; end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.