|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
23.05.2011, 16:29 | #1 (permalink) |
Новичок
Регистрация: 23.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите поправить код
Вот, собственно мой код: Program Palindroms; uses crt; const Delim= [' ', ',', '.', '?', '!']; var s,stmp:string; i,j,l:integer; f:boolean; begin clrscr; writeln('s:'); readln(s); i:=1; while i<=length(s) do if (not(s[i] in delim)) then begin j:=i;stmp:=''; while (s[j]<>' ')and(j<=length(s)) do begin stmp:=stmp+s[j]; j:=j+1; end; f:=true; l:=length(stmp); for j:=1 to l do if stmp[j]<>stmp[l-j+1] then f:=false; if f then writeln(stmp); i:=i+length(stmp); end else i:=i+1; readln end. Буду ждать Ваших мудрых советов |
23.05.2011, 16:29 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Поищите решение проблемы в аналогичных обсуждениях Поправить прогу с графическим режимом Поправить программу. Иначе отчислят. У 2х компов алергия на ГТА - как поправить? |
23.05.2011, 16:36 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну так введите еще два множества - гласных и согласных букв (с полным перечислением), и каждый найденный палиндром проанализируйте на количество тех и других.
|
23.05.2011, 17:03 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну... если Вы, как утверждаете, "написали" выложенную программу, то никаких проблем возникнуть не должнО. В раздел констант вводите что-нибудь типа
Glas=['а','е','и'... и т.д до 'я']; Sogl=['б','в','г'... и т.д до 'щ']; В раздел описания переменных N_glas, N_sogl, k:Integer; В конце для каждого найденного палиндрома организуете цикл вида N_glas:=0; N_sogl:=0; For k:=1 to length(stmp) do begin if stmp[k] in Glas then Inc(N_glas); if stmp[k] in Sogl then Inc(N_sogl); end; If N_glas>N_sogl then writeln(stmp); И всего делов-то! |
23.05.2011, 17:06 | #5 (permalink) |
Новичок
Регистрация: 23.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
огромное человеческое спасибо
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|