Помощь - Поиск - Пользователи - Календарь
Полная версия: смена регистра
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Катя-
Нужно составить программу, где в тексте надо заменить регистр букв только в тех словах, которые содержат 2 или более одинаковые гласные буквы. Меня интересует не вся программа, а только то место, где происходит замена. Помогите пожалуйста!
klem4
есть замечательная функция
UpCase(Char): Char

(но это только для латинских букв a..z)

Если есть русские буквы,то функцию придется писать самой, благо она совсем не сложная.
Кати
Я поняла как сменить регистр букв, но сделать так, чтобы регистр менялся только в словах с двумя одинаковыми гласными?
volvo
Текст на слова уже разбит? (если нет - см. в прикрепленных темах этого раздела, есть то, что тебе нужно)

Предположим, что уже разбит... Смотри:
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.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.