Страница 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, он написал правельно тока к смаленькой буквы :D

Re: pascal

Добавлено: 26 апр 2008, 17:04
Serge_Bliznykov
Vovchik,
&quot писал(а):он написал правИльно...
Да нет! он написал "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
&quot писал(а):writeln(pos('он',copy(s,1, pos('!',s)))+pos('но',copy(s,1, pos('!',s)))>0);
ммм..это типо че ?

Re: pascal

Добавлено: 28 апр 2008, 19:57
Alex_Burn
&quot писал(а): ммм..это типо че ?
это "типо" решение вашей задачи!

Хыиуду, вы просто монстр (в хорошем смысле). ;) ))
Решение просто поражает! В одну строку!!

С вашего позволения, чтобы 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]