IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> тип String
симав
сообщение 25.04.2005 16:43
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Женский

Репутация: -  0  +


Подсчитайте, какой процент слов в тексте содержит удвоенную букву.
Вот, что я сделала:
Код
var s:string;
p:real;
n,k,i:byte;
begin
readln(s);
for i:=1 to length(s) do begin
if s[i]=' ' then n:=n+1;
if s[i]:=s[i+1] then k:=K+1;
end;
p:=(n/k)*0.1;
writeln('p=',p:3:3);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
hiv
сообщение 27.04.2005 9:15
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Проценты совсем неправильно считаются! n - количество слов, k - количество слов где есть парные буквы. Тогда процент счтается как k/n*100
Вот как надо:
Код
program dubleb;
var s:string;
   n,k,i:byte;
   boy :boolean;
begin
readln(s);
n:=0;
k:=0;
i:=1;
while (i<=length(s))and(s[i]=' ') do inc(i);

while i<=length(s) do
begin
 if s[i]=' ' then
 begin
   inc(n);
   inc(i);
   while (i<=length(s))and(s[i]=' ') do inc(i);
 end
 else
 begin
   boy:=false;
   while (i<=length(s))and(s[i]<>' ') do
   begin
     if i>1 then boy:=boy or (s[i]=s[i-1]);
     inc(i);
   end;
   if boy then inc(k);
   if (i>length(s))and(s[length(s)]<>' ') then inc(n);
 end;
end;

if n>0 then writeln('p=',(k/n*100):5:1,'%')
else writeln('В тексте нет слов!');
readln;
end.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 16:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"