Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 19:03   #1
Keti
Пользователь
 
Регистрация: 16.12.2011
Сообщений: 11
Печаль Строки...(Паскаль)

Может быть кто-нибудь подскажет...уже голову сломала...
Задание: Дан текст. Преобразовать строку, добавив запятые перед «а» и «но».

Вот что у меня получилось:

uses Crt;
var s: string;
i: byte;
begin
ClrScr;
Writeln ('введите текст: ', s);
Readln (s);
for i:=length(s) downto 1 do
if (s[i]='а') or (s[i]='н') and (s[i+1]='о') and (i<length(s)) then
insert(',' ,s,i);
Writeln (s);
Readln (s);
end.

Не могу найти ошибку...запятые ставятся в середине слов, это можно как-то исправить? Помогите, пожалуйста....
Keti вне форума Ответить с цитированием
Старый 25.12.2011, 20:04   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Условия нужно немножко поменять:
Код:
 if (i+2<length(s)) then
   if ((s[i]='а')and(s[i+1]=' ')and(s[i-1]=' ')) or ((s[i]='н')and(s[i+1]='о')and((s[i+2]=' ')and(s[i-1]=' ')))  then
Несколько громоздко, но правильно. Суть в том, что добавляется проверка на наличие пробелов перед и после "а" и "но".

Да, и еще: вместо
Код:
insert(',' ,s,i);
нужно
Код:
insert(',' ,s,i-1);
Все тривиальное просто

Последний раз редактировалось whatever; 25.12.2011 в 20:09.
whatever вне форума Ответить с цитированием
Старый 25.12.2011, 20:57   #3
Keti
Пользователь
 
Регистрация: 16.12.2011
Сообщений: 11
По умолчанию

Спасибо, большое!))) У меня были мысли по поводу пробелов, только воплотить не получилось... Благодарю за помощь
Keti вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.Строки Анастасия*** Помощь студентам 0 20.12.2011 19:54
Строки в Паскаль! Kymbat Паскаль, Turbo Pascal, PascalABC.NET 0 10.01.2011 19:46
Строки.Паскаль tutis Помощь студентам 6 23.12.2010 20:16
Паскаль.Строки. Rid Помощь студентам 7 14.12.2009 21:30
паскаль строки Fornarina Помощь студентам 1 27.12.2008 01:31