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

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

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

> Для заданого предложения указать долю согласных., Задание - необходимо регить на PASCAL
flashg
сообщение 4.08.2005 17:39
Сообщение #1


Новичок
*

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

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


Для каждого слова заданного предложения указать долю согласных. Определить слово в котором доля согласных максимальна.

Задание - необходимо регить на PASCAL на TYRBO или BORLAND.

Я нашёл pas фаил содержащий код программы для нахождения одной буквы в строке

я его немного переделал и теперь он находит две буквы. Но прога сразу увеличелась на 50% blink.gif

а также у меня нет кода (я не знаю как его прописать) для второй части задания.

Определить слово в котором доля согласных максимальна.

ПОПРАКА

:o что тут не то с текстом
Изначальный код был такой
Код
PROGRAM PR3;
var s1:string[20];
n,q:integer;
BEGIN
   q:=-1;
   writeln('Введите слово (до 20 букв)');
   read(s1);
   n:=pos('А',s1);
   if n>0 then
   BEGIN
       repeat
       n:=pos('А',s1);
       q:=q+1;
       delete(s1,n,1);
       until n=0;
   END
else q:=0;
write('Кол-во букв А =',q);
END.


я решил чуть чуть помеять т.е. большую А на маленькую а - и уже ничего оно верно не считает
Код
PROGRAM PR3;
var s1:string[20];
n,q:integer;
BEGIN
   q:=-1;
   writeln('Введите слово (до 20 букв)');
   read(s1);
   n:=pos('а',s1);
   if n>0 then
   BEGIN
       repeat
       n:=pos('А',s1);
       q:=q+1;
       delete(s1,n,1);
       until n=0;
   END
else q:=0;
write('Кол-во букв а =',q);
END.


а я так надеялся что введу вот такой код


Код
PROGRAM PR3;
var b,g:string[200];
n,q,m,r:integer;
BEGIN
   q:=-1;
   r:=-1;
   writeln('Введите слово');
   read(b);
   read(g);
   n:=pos('г',g);
   m:=pos('б',b);
   if n>0 then

   BEGIN
       repeat
       n:=pos('г',g);
       q:=q+1;
       delete(g,n,1);
       until n=0;
       end
       else q:=0;

   if m>0 then
    BEGIN
    repeat
      m:=pos('б',b);
      r:=r+1;
 delete(b,n,1);
       until m=0;
       end
    else r:=0;

write('Кол-во букв б =',r);
write('Кол-во букв г =',q);
END.


и забив те буквы что мне надо прога мне найдёт те буквы что встречаются и укажет их - и тут 0.
хотя буквы б тут находит а буквы г - прописывает 0

В чём глюк ? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
klem4
сообщение 6.08.2005 17:24
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Что-то ты неясное замутил smile.gif

может так ? ;)

uses crt;
var
s:string;

a_count, b_count, i:integer;

Begin

clrscr;

a_count:=0; b_count:=0;

write('s='); readln(s);

if (pos('a',s)<>0)or(pos('b',s)<>0) then

for i:=1 to length(s) do
case s[i] of
'a': inc(a_count);
'b': inc(b_count);
end;

writeln('a : ', a_count);
writeln('b : ', b_count);

readln;

End.


хотя конечно можно сделать и pos с удалением элементов из строки.

вариант с POS

uses crt;
var
s:string;

a_count, b_count, i:integer;

Begin

clrscr;

a_count:=0; b_count:=0;

write('s='); readln(s);

if (pos('a',s)<>0)or(pos('b',s)<>0) then begin
while(pos('a',s)<>0) do begin
i:=pos('a',s);
delete(s,i,1);
inc(a_count);
end;

while(pos('b',s)<>0) do begin
i:=pos('b',s);
delete(s,i,1);
inc(b_count);
end;
end;

writeln('A : ',a_count);
writeln('B : ',b_count);


readln;

End.


Сообщение отредактировано: klem4 - 6.08.2005 17:38


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
flashg   Для заданого предложения указать долю согласных.   4.08.2005 17:39
volvo   В общем так: программа, которую ты привел как неп...   4.08.2005 19:22
Guest   count := 0; чем оно является - ошибка 3   6.08.2005 15:40
flashg   сори выше написанное сообщение моё забыл залогится   6.08.2005 15:42
flashg   сново не получается сделать чтобы считал более 1но...   6.08.2005 16:50
volvo   Значит, плохо искал: FAQ: Строки - Разбить на сло...   6.08.2005 17:44
klem4   Что-то ты неясное замутил :) может так ? ;) us...   6.08.2005 17:24
flashg   да это я и хотел получить хотя вот тут какое есть ...   6.08.2005 17:45
volvo   flashg, прекращай переливать из пустого в порожнее...   6.08.2005 17:48
flashg   Пост № 6 рассписывает именно то что я хотел добит...   6.08.2005 18:02
klem4   Вот тебе ЧЕТКОЕ решения по заданию, надеюсь слово ...   6.08.2005 19:39
flashg   маленькая проблема - это нормально ли я запустил...   6.08.2005 20:11
klem4   по мойму по константе limits можно было понять, ...   6.08.2005 20:14
flashg   Да иещё ранее в посте №6 первый код ты мне дал я е...   6.08.2005 20:15
volvo   Ну-ну... А для заглавных букв ты ЕЩЕ в 2 раза буде...   6.08.2005 20:18
flashg   а вообще возможно сделать чтобы кирилицу понимал...   6.08.2005 20:31
klem4   так, помойму мы с тобой оба страшно тупим...могу п...   6.08.2005 20:36
flashg   как насчёт примера с долями uses crt; type ...   7.08.2005 18:45
volvo   sogl=[#224..#256]-['а','е','ё...   7.08.2005 19:15
flashg   я набираю тексты (предложения) русскими буквами жм...   7.08.2005 21:06
klem4   для того чтобы переделать мою прогу для кирилицы н...   7.08.2005 21:29
flashg   в посте 11 - дан код работоспочобной проги для тек...   7.08.2005 21:51
Altair   издиваешься? поменять множество и все. закрыто в ...   7.08.2005 22:07


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

 



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