![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 50
|
![]()
мне нужно проверить принадлежит ли слово данному языку, я тут примерно полфункции написал и решил проверить на слове 000001, по идее результат должен быть истиным, но функция все время выдает ложь, помогите найти ошибку пожалуйста
Код:
|
![]() |
![]() |
![]() |
#2 |
Регистрация: 07.03.2011
Сообщений: 3
|
![]()
Ошибки умом не нашел, но простенькое тестирование с высвечиванием сообщений показало:
... if length(fword) mod 3 <> 0 then begin result:=false; exit; end else begin cep:=fword[i]+fword[i+1]+fword[i+2]; showmessage ('"' + cep + '"'); //проверял, что заложено в cep if (cep<>'000') or (cep<>'001') then begin result:=false; exit; end; showmessage ('2'); //проверял, доходил ли до сюда программа ... первое сообщение показывается "000", второе сообщение - не показывается, значит - проблема между первым сообщением и вторым. И ведь действительно: cep='000', значит cep<>'001', присваивается значение false и функция завершается. Если написать if (cep<>'000') and (cep<>'001') then begin result:=false; exit; end; То в итоге функция выдает True на значение 000001 Последний раз редактировалось Justen; 12.03.2011 в 10:31. Причина: добавил решение |
![]() |
![]() |
![]() |
#3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
ОМГ, что за страшенный код...
выдает фолс, потому что Вы в куче месте задаете result := false , и понять почему именно на этом слове так получаетя, малореально из-за "виртуозности" алгоритма. Вы лучше скажите, что Вы конкретно хотите ? вот задайте пример какой-то, опишите что есть на входе и какие критерии должны отрабатывать, а то просто "принадлежит ли слово языку" это явно не алгоритмическая задача |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 50
|
![]() Код:
исправил на Код:
спасибо, тут тоже исправил phomm дан язык: (000)*001(010)* на вход подается несколько слов, нужно проверить принадлежат ли они данному языку, за одно обращение обрабатывается одно слово ну например 000001010,00,01000 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
языку си задание НА КУРСОВУЮ! | kest_wolf | Помощь студентам | 1 | 08.02.2011 20:17 |
Обучение языку | SlideSide | Помощь студентам | 2 | 07.01.2011 23:27 |
Информация по языку С | Nempak | Фриланс | 2 | 07.01.2011 21:50 |
задача по языку си | lider219 | Помощь студентам | 1 | 18.09.2010 02:19 |
Задания по языку Pascal | Corpse | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 04.05.2008 19:43 |