profile
Размещено 5 лет назад по предмету Информатика от kardinal00

Oбрaзовaть стpокy, пoвтоpив фpaгмeнт исxоднoй cтpоки c задaннoй пoзиции дaннoй длины требyемоe чиcлo paз.

Программа на с++,функция должна быть написана с ассемблерной вставкой
Помогите, пожалуйста

  1. Ответ на вопрос
    Ответ на вопрос дан ManulTheLiar
    Думаю, что-то типа того.

    #include <iostream>
    #include <stdio.h>

    using namespace std;

    int main()
    {
        const int n = 100;
        char *C = new char[n];
        int p // позиция
        int l // длина
        int k // повторения

        cout << "String C: ";
        cin >> C;
        cout << "Pos: ";
        cin >> p; p--;
        cout << "Length: ";
        cin >> l;
        cout << "N: ";
        cin >> k;
        char *V = new char[l*k+1];

        if ((p >= 0) && (l > 0) && (k > 0) && ((strlen(C) - p) >= l) && (p <= strlen(C))) //проверка ввода
        {
            __asm
            {
                mov ebx, k;           // количество повторений
                mov edi, V         // адрес приёмника
                m1 : cmp   ebx, 0  // сравнение
                     je   exit1    // если EBX = 0, то переход на exit1
                     mov   ecx, l  // длина строки
                     mov   esi, C  // адрес источника
                     add   esi, p  // с заданной позиции
                 m2 :
                    mov al, [esi]    //из ESI
                    mov [edi], al    // запись в EDI
                    inc edi            // EDI+1
                    inc esi            // ESI+1
                    loop  m2        // цикл EСХ раз
                    dec ebx         // EBX-1
                    jmp m1             // переход на m1
                exit1 : mov[edi], 0
            }

            cout << "nV: ";
            cout << V << endl;
        }

        else cout <<  "nError " << endl;

        system("pause");
    }
    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      здесь же просто вставка, а не функция... хотя если человек хоть немного знает тему, то преобразовать ничего не стоит...
    2. Ответ на вопрос
      Ответ на вопрос дан kardinal00
      Спасибо вам большое! То, что нужно, можно без функции
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.