![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Анчоус |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Аня Репутация: ![]() ![]() ![]() |
Привет, умный народ.
![]() У меня проблемы с задачками в школе по Паскалю. Вот задача: "Дана строка STR длиной неболее 100 символов, и дана строка STR1 неболее 7 символов. Определить сколько раз в строке STR встречается строка STR1" я попробовала через функцию copy и процедуру insert, но у меня что-то не получается, короче, я делаю что-то не так, и до меня что-то не допирает. Вообщем, кто может, помогите тупой девочке(т.е. мне). |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
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";'
|
Malice |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
![]() Delete(s, p, length(s1));
тогда запусти это: writeln(GetCount('test this is a ttestest ha-ha-ha...', 'test'));
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ой
![]() Delete(s, p, Length(STR1));
ну или в начале процедуры дополнительной переменной присвоить Length(STR1) чтобы все время не пересчитывать. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Malice |
![]()
Сообщение
#6
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Да пример хороший
![]() 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";'
|
Анчоус |
![]()
Сообщение
#8
|
![]() Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Аня Репутация: ![]() ![]() ![]() |
Спасибо, парни!
![]() Большое спасибо |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 20:14 |