![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
Здравствуйте!
Нужна ваша помощь в решении простой задачи на delphi. Я в программировании новичок. Вообще я лингвист и не понятно зачем нам программирование. Собственно задача: Даны натуральное число n, символы S1,S2,...Sn. Получить первое натуральное число i, для которого каждый из символов S(i) и S(i+1) совпадает с буквой а. Если такой пары символов в последовательности нет, то ответом должно быть число 0. То, что я пытался сделать: На форме есть button, label, edit. procedure TForm1.Button1Click(Sender: TObject); var s:string; i,n:integer; begin s:=Edit1.Text; n:=length(s); For i:=1 to n do if (s[i]='a') and (s[i+1]=s[i]) then Label1.Caption:=IntToStr(i) else Label1.Caption:='0'; end; Буду благодарен за любую помощь! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
А проблема-то в чем? Код вроде правильный...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
Проблема в том, что когда ввожу произвольный набор символов в Edit1, и, собственно, нажимаю на кнопку, ответ постоянно '0', есть 'аа' или нет. Не могу понять почему так.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.05.2012
Сообщений: 88
|
![]()
Штука в том, что программа не останавливается, когда находит "аа", надо сделать вот как (простите, что без отступов):
Код:
![]() ![]() Кроме того, есть стандартная функция Pos, гуглите, она как раз и выполняет эту задачу. Последний раз редактировалось studen; 15.12.2012 в 13:21. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
Спасибо большое! Всё заработало. Ошибку я понял.
Про функцию pos я знаю, но мне показалось, что по условию задачи она не совсем подойдет. Хотя может я ошибаюсь. Еще раз большое спасибо! |
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Имхо, не нужно на каждой итерации цикла присваивать 0 label'у.
Код:
С pos будет проще, но преподаватель может сказать, что нужно было самому реализовать поиск. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 15.12.2012 в 14:07. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
Спасибо, BDA. Код мой получился такой:
Код:
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
Ок. Спасибо.
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 15.12.2012
Сообщений: 18
|
![]()
А можно еще намёк небольшой попросить у вас? Нужно организовать подсчет наибольшего количества определенных символов в строке, в моем случае - пробелов. Какие функции мне можно посмотреть?
Насколько я понял, мне в строке нужно найти первые несколько пробелов (или один пробел), запомнить его, дальше найти вторую группу пробелов, сравнить с первой, запомнить ту группу, которая больше, дальше найти третью группу пробелов и т.д. до конца строки, затем вывести наибольшее число пробелов. Все правильно? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
легкая задача | Иван Грозный | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 21.05.2012 13:47 |
легкая задача на реализацию | videolord | Общие вопросы C/C++ | 4 | 18.12.2011 16:02 |
задача не самая легкая | Arinca | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.04.2011 22:25 |
Господа, вроде легкая задача по Delphi, а как подступиться не знаю | koysara | Помощь студентам | 3 | 17.09.2010 11:12 |
легкая задача | vAdiM_Kubski | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 25.09.2009 22:49 |