Функция сборки на струнах - PullRequest
0 голосов
/ 26 мая 2018

Я сделал функцию, которая должна возвращать номер старшей последовательности того же символа в строке.Так что в случае строки 'aabbbcaaaabbccc' это должно быть 4, в случае 'aaaaa' это должно быть 5. Так что для 'aaaaa' эта функция должна возвращать 5, фактически она возвращает 2. Я смотрю на нее долгое время, но яне вижу ошибки.

    unsigned long najdlhsia(const char *vstup) {
    __asm {
        mov eax, 0
        mov ecx, 0
        mov ebx, vstup
        cmp [ebx], 0
        je k
        mov edx, [ebx]
        add ebx, 1
        inc eax
        inc ecx
        c: cmp byte ptr[ebx], 0
           je p
           cmp [ebx], edx
           jne a1
           inc ecx
           add ebx, 1
           jmp c
           a1: cmp ecx, eax
               jng a2
               mov eax, ecx
           a2: mov ecx, 1
               mov edx, [ebx]
               add ebx, 1
               jmp c
            p: cmp ecx, eax
               jng k
               mov eax, ecx
        k:
    }
}

int main()
{
    printf("%d", najdlhsia("aaaaa"));
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...