pascal

serenity
Сообщения: 3
Зарегистрирован: 24 апр 2008, 19:55

25 апр 2008, 15:05

Помогите пожалуйста а то чето не могу разобратся =)
БОЛЬШОЕ Спасибо :)

Даны символы S1,S2,...Известно , что символ s1 отличен от восклицательного знака и что среди S2,S3... есть по крайней мере один восклицательный знак .Пусть S1,...,Sn символы данной последовательности , предшествующие первому восклицптельному знаку . Выяснить, имеется ли среди s1,...,Sn пара соседствующих букв "но" или "он".
MOTOCoder
Сообщения: 542
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

25 апр 2008, 15:12

А что непонятно?
Перебрать все пары символов до первого восклицательного знака, проверяя, не является ли пара одним из искомых сочетаний.

-----------------
А можно еще проще - обрезать все, что стоит после восклицательного знака и проверить существование искомого сочетания в полученной строке(функцией pos).
Ни что так не ограничивает фантазию программиста, как компилятор...
C_O_D_E
Сообщения: 293
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

25 апр 2008, 20:34

serenity
Да, кстати, если Вы используете (или хотя бы просите написать программу) на языке высоеого уровня, то пишите, пожалуйста, язык правильно : Pascal или хотя бы Паскаль.
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Vovchik
Сообщения: 190
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

26 апр 2008, 13:56

C_O_D_E, он написал правельно тока к смаленькой буквы :D
Serge_Bliznykov
Сообщения: 366
Зарегистрирован: 31 авг 2007, 03:06

26 апр 2008, 17:04

Vovchik,
&quot писал(а):он написал правИльно...
Да нет! он написал "Re: poscal " это уже он исправил...
serenity
Сообщения: 3
Зарегистрирован: 24 апр 2008, 19:55

26 апр 2008, 17:47

ну ошибка и что?
Vovchik
Сообщения: 190
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

26 апр 2008, 19:08

Serge_Bliznykov, а понятно :)
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

28 апр 2008, 11:51

Люблю в простых задачах сложные конструкции!
writeln(pos('он',copy(s,1, pos('!',s)))+pos('но',copy(s,1, pos('!',s)))>0);
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
serenity
Сообщения: 3
Зарегистрирован: 24 апр 2008, 19:55

28 апр 2008, 18:19

&quot писал(а):writeln(pos('он',copy(s,1, pos('!',s)))+pos('но',copy(s,1, pos('!',s)))>0);
ммм..это типо че ?
Аватара пользователя
Alex_Burn
Сообщения: 145
Зарегистрирован: 13 апр 2007, 17:49
Контактная информация:

28 апр 2008, 19:57

&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]
Ответить