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

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

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

> Для заданого предложения указать долю согласных., Задание - необходимо регить на PASCAL
сообщение
Сообщение #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 Открыть новую тему 
Ответов
сообщение
Сообщение #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 -


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

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


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

 





- Текстовая версия 4.09.2025 23:38
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name