Помогите поправить код
Есть задача. Написать программу для вывода слов палиндромов (то есть тех, которые и в одну и в другую сторону читаются одинаково). Так вот, программу написал, но нужно чтобы прога еще и выводила слова-палиндромы, в которых гласных букв больше, чем согласных.
Вот, собственно мой код: 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. Буду ждать Ваших мудрых советов ;) |
Цитата:
|
Как это кодом записать?
|
Цитата:
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); И всего делов-то! |
огромное человеческое спасибо ;)
|
Часовой пояс GMT +4, время: 04:30. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.