Страница 1 из 2
pascal
Добавлено: 25 апр 2008, 15:05
serenity
Помогите пожалуйста а то чето не могу разобратся =)
БОЛЬШОЕ Спасибо
Даны символы S1,S2,...Известно , что символ s1 отличен от восклицательного знака и что среди S2,S3... есть по крайней мере один восклицательный знак .Пусть S1,...,Sn символы данной последовательности , предшествующие первому восклицптельному знаку . Выяснить, имеется ли среди s1,...,Sn пара соседствующих букв "но" или "он".
Re: poscal
Добавлено: 25 апр 2008, 15:12
MOTOCoder
А что непонятно?
Перебрать все пары символов до первого восклицательного знака, проверяя, не является ли пара одним из искомых сочетаний.
-----------------
А можно еще проще - обрезать все, что стоит после восклицательного знака и проверить существование искомого сочетания в полученной строке(функцией pos).
Re: poscal
Добавлено: 25 апр 2008, 20:34
C_O_D_E
serenity
Да, кстати, если Вы используете (или хотя бы просите написать программу) на языке высоеого уровня, то пишите, пожалуйста, язык правильно : Pascal или хотя бы Паскаль.
Re: pascal
Добавлено: 26 апр 2008, 13:56
Vovchik
C_O_D_E, он написал правельно тока к смаленькой буквы

Re: pascal
Добавлено: 26 апр 2008, 17:04
Serge_Bliznykov
Vovchik,
" писал(а):он написал правИльно...
Да нет! он написал "Re: poscal " это уже он исправил...
Re: pascal
Добавлено: 26 апр 2008, 17:47
serenity
ну ошибка и что?
Re: pascal
Добавлено: 26 апр 2008, 19:08
Vovchik
Serge_Bliznykov, а понятно

Re: pascal
Добавлено: 28 апр 2008, 11:51
Хыиуду
Люблю в простых задачах сложные конструкции!
writeln(pos('он',copy(s,1, pos('!',s)))+pos('но',copy(s,1, pos('!',s)))>0);
Re: pascal
Добавлено: 28 апр 2008, 18:19
serenity
" писал(а):writeln(pos('он',copy(s,1, pos('!',s)))+pos('но',copy(s,1, pos('!',s)))>0);
ммм..это типо че ?
Re: pascal
Добавлено: 28 апр 2008, 19:57
Alex_Burn
" писал(а):
ммм..это типо че ?
это "типо" решение вашей задачи!
Хыиуду, вы просто монстр (в хорошем смысле).

))
Решение просто поражает! В одну строку!!
С вашего позволения, чтобы
serenity было понятней.
[Syntax="Pascal"]
uses crt;
var s : string;
begin
clrscr;
s:='он - гений!';
writeln(pos('он',copy(s,1,pos('!',s)))+pos('но',copy(s,1,pos('!',s)))>0);
s:='это не так!';
writeln(pos('он',copy(s,1,pos('!',s)))+pos('но',copy(s,1,pos('!',s)))>0);
readkey;
end.
[/Syntax]