Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ смена регистра

Автор: -Катя- 17.04.2008 1:02

Нужно составить программу, где в тексте надо заменить регистр букв только в тех словах, которые содержат 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.