Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите поправить код (http://www.tehnari.ru/f41/t52105/)

Lotan 23.05.2011 16:29

Помогите поправить код
 
Есть задача. Написать программу для вывода слов палиндромов (то есть тех, которые и в одну и в другую сторону читаются одинаково). Так вот, программу написал, но нужно чтобы прога еще и выводила слова-палиндромы, в которых гласных букв больше, чем согласных.

Вот, собственно мой код:

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.

Буду ждать Ваших мудрых советов ;)

Vladimir_S 23.05.2011 16:36

Цитата:

Сообщение от Lotan (Сообщение 525503)
Так вот, программу написал, но нужно чтобы прога еще и выводила слова-палиндромы, в которых гласных букв больше, чем согласных.

Ну так введите еще два множества - гласных и согласных букв (с полным перечислением), и каждый найденный палиндром проанализируйте на количество тех и других.

Lotan 23.05.2011 16:43

Как это кодом записать?

Vladimir_S 23.05.2011 17:03

Цитата:

Сообщение от Lotan (Сообщение 525517)
Как это кодом записать?

Ну... если Вы, как утверждаете, "написали" выложенную программу, то никаких проблем возникнуть не должнО. В раздел констант вводите что-нибудь типа
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);
И всего делов-то!

Lotan 23.05.2011 17:06

огромное человеческое спасибо ;)


Часовой пояс GMT +4, время: 04:30.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.