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

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

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

 
 Ответить  Открыть новую тему 
> опять строки
Анчоус
сообщение 5.12.2006 14:26
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Аня

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


Привет, умный народ. cool.gif
У меня проблемы с задачками в школе по Паскалю. Вот задача:

"Дана строка STR длиной неболее 100 символов,
и дана строка STR1 неболее 7 символов.
Определить сколько раз в строке STR встречается строка STR1"

я попробовала через функцию copy и процедуру insert, но у меня что-то не получается, короче, я делаю что-то не так, и до меня что-то не допирает.
Вообщем, кто может, помогите тупой девочке(т.е. мне).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 5.12.2006 14:50
Сообщение #2


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

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

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


function GetCount(S, S1: String): Integer;
var
count, p: Integer;
begin
count := 0;
repeat
p := Pos(S1, S);
if p <> 0 then begin
Delete(s, p, 7);
inc(count);
end;
until p = 0;
GetCount := count;
end;

begin
...
writeln(GetCount(STR, STR1));
...
end.




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


Профи
****

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

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


Цитата(klem4 @ 5.12.2006 14:50) *

     Delete(s, p, _7_);



Ну это на вряд ли..

Сообщение отредактировано: Malice - 5.12.2006 14:54
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.12.2006 14:56
Сообщение #4


Гость






blink.gif Во-первых, откуда 7 ? Допустим, что там должно быть
Delete(s, p, length(s1));

тогда запусти это:
writeln(GetCount('test this is a ttestest ha-ha-ha...', 'test'));

 К началу страницы 
+ Ответить 
klem4
сообщение 5.12.2006 14:59
Сообщение #5


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

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

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


ой smile.gif

Delete(s, p, Length(STR1));


ну или в начале процедуры дополнительной переменной присвоить Length(STR1) чтобы все время не пересчитывать.


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


Профи
****

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

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


Цитата(klem4 @ 5.12.2006 14:59) *

ой smile.gif

Volvo, кстати, хороший пример привел, проверь с ним smile.gif
ps Лучше уж Delete(s, 1, p+length(s1));
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 5.12.2006 16:02
Сообщение #7


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

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

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


Да пример хороший smile.gif)))


function GetCount(s: String; const s1: String): Integer;
var
P: Integer;
begin
P := Pos(s1, s);
if P = 0 then
GetCount := 0
else
GetCount := GetCount(Copy(s, P + Length(s1) - 1, 255), s1) + 1;
end;


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





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Аня

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


Спасибо, парни! cool.gif
Большое спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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