Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 19.02.2013, 23:05   #1 (permalink)
Tenken
Banned
 
Регистрация: 18.11.2012
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача на множества Pascal ABC

Всем доброго времени суток, необходима помощь в решении задачи на множества Паскаль ABC, постановка задачи:
Дано 3 предложения. В словах, начинающихся на гласную букву удалить вторую согласную. Слова в предложении разделены пробелом.(по типу слово "аналог", а должно получиться "анаог").
Tenken вне форума   Ответить с цитированием

Старый 19.02.2013, 23:05
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Рекомендую обратить внимание на данные ссылки

Задача на множества Pascal ABC
Pascal задача
Задача на Pascal
Задача по Паскалю на множества
Задача в Pascal
Задача на Pascal

Старый 24.02.2013, 13:45   #2 (permalink)
interacia
Member
 
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
По умолчанию

Код:
program faile1;
type
bukva = set of char;
var
glas:bukva;
soglas:bukva;
S1,S2,S3: String;
// функция преобразования строки
function fun(S:string): string;
var
temp:string; // формирование новой строки
n:  integer; // счетчик для новой строки
ud: integer; // количество признаки для пропуска буквы
i:  integer;
begin
temp:=''; // начальное значение
// первый символ строки
if S[1] in glas then begin ud:=1; end
else begin ud:=0;end;
n:=1;
temp[0]:=S[0];
for i:=1 to length(S) do // проход по строке
begin
// первое условие начало слова
if ((S[i-1]=' ')and(S[i] in glas)) then  begin ud:=1;end; // начало слова
if ((ud=1) and (S[i] in soglas)) then begin ud:=2; end //первая согласная
else if ((ud=2) and (S[i] in soglas)) then // вторая согласная
     begin ud:=0;
     continue; // перескок через вторую гласную в слове
      end;
if S[i]=' ' then ud:=0; // конец слова
temp[n]:=S[i]; // заполнение строки
inc(n);
end;
fun:=temp;
end;
begin
// множество гласных букв
glas:=['й','Й','У','у','е','Е','ы','а','Ы','А','я','Я','э','Э','О','о','и','ь','ю','ъ','И','Ь','Ю','Ъ','ё','Ё'];
// множество согласных букв
soglas:=['ц','т','б','Б','Т','М','м','Ч','С','с','ч','Ж','ж','Ц','Д','к','н','д','К','Н','г','Г','ш','Ш','Л','щ','Щ','з','З','х','Х','ф','в','Ф','В','п','П','р','л','Р'];
writeln('Введите первую строку');
readln(S1);
writeln('Введите вторую строку');
readln(S2);
writeln('Введите третью строку');
readln(S3);

writeln('Ответ ');
write('1)');
writeln(fun(S1));
write('2)');
writeln(fun(S2));
write('3)');
writeln(fun(S3));
end.
interacia вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:52.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.