Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 9
1

Определяет кол-во вхождений одной Паскаль-строки в другую Паскаль-строку.

21.11.2011, 20:44. Показов 1636. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Не могли бы вы мне помочь написать программу, совсем не могу понять как ее написать. Вот задание: Составить программу, содержащую процедуру (передача параметров в процедуру через стек).Определяет кол-во вхождений одной Паскаль-строки в другую Паскаль-строку.
Если можно с объяснением. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2011, 20:44
Ответы с готовыми решениями:

Даны строки S и S0. Найти кол-во вхождений строки S0 в строку S
Даны строки S и S0. Найти кол-во вхождений строки S0 в строку S

Даны строки. Найти количество вхождений из одной строки в другую
Даны строки.Найти количество вхождений из одной строки в другую

Найти количество вхождений одной строки в другую
даны строки 1 и 2. надо найти количество вхождений из строки 1 в строку 2

Найти число вхождений одной строки в другую
Код под спойлером по собственным соображениям. #include <stdio.h> #include <string.h> int...

1
Клюг
7675 / 3190 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
22.11.2011, 00:53 2
Это ф-ция из Virtual Pascal 2.1 runtime library. Ищет первое вхождение символа подстроки в строку. допилить несложно.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Pos standard function
// function Pos(SubStr: String; S: String): Byte;
// RETURNS:     eax     = Index of the first char of SubStr within S or 0 if SubStr is not found
 
procedure _StrPos(SubStr,S: Pointer); {&USES ebx,ecx,edx,esi,edi} {&FRAME-}
asm
                cld
                mov     esi,SubStr
                movzx   eax,[esi].Byte
                inc     esi
                test    al,al                   // If SubStr = '' then Pos := 0
                jz      @@Not_Found             // (Not found)
                mov     edx,eax                 // edx := Length(SubStr)
                mov     edi,S                   // If Length(SubStr) > Length(S)
                movzx   ecx,Byte Ptr [edi]      // then Pos := 0 (Not found)
                sub     ecx,edx                 // ******************** <=S
                jb      @@Not_Found             // *********            <=SubStr
                inc     ecx                     // ecx := <-Б---------Щ
                inc     edi                     // edi := @S[1]
              @@1:
                mov     al,[esi]                // Search SubStr[1] in S
                inc     esi
                repne   scasb
                jne     @@Not_Found
                mov     eax,edi                 // Compare other characters
                mov     ebx,ecx
                lea     ecx,[edx-1]
                shr     ecx,2                   // FAST String compare
                repe    cmpsd                   // if ecx = 0 then ZF = 1
                jne     @@2
                lea     ecx,[edx-1]
                and     ecx,11b
                repe    cmpsb
                je      @@Found
              @@2:
                mov     edi,eax                 // Restore edi, ecx
                mov     ecx,ebx
                mov     esi,SubStr
                inc     esi                     // esi := @SubStr[1]
                jmp     @@1
 
              @@Not_Found:
                xor     eax,eax                 // Pos := 0
                jmp     @@RET
 
              @@Found:
                dec     eax
                sub     eax,S
              @@RET:
end;
1
22.11.2011, 00:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2011, 00:53
Помогаю со студенческими работами здесь

Найти количество вхождений одной текстовой строки в другую
Люди помогите ожалуйста написать программу: Вычисляющую количество вхождений одной текстовой...

Строки. Подсчитать количество вхождений первого символа строки в другую строку
Помогите решить. Условие: Подсчитать количество вхождений первого символа строки в другую...

Найти количество вхождений одной строки (являющейся подстрокой) в другую
С клавиатуры вводятся две строки. Найти количество вхождений одной строки (являющейся подстрокой) в...

Паскаль. Строки. вывести согласные не входящие в строку
Вывести согласные не входящие в строку. Подскажите кто знает.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru