Есть ответ 👍

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

112
290
Посмотреть ответы 2

Ответы на вопрос:

dmgkmmsdk
4,5(96 оценок)

Думаю, что-то типа того. #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( //проверка ввода       {             __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"); }
Bluka23
4,5(20 оценок)

"всегда следует продумывать  план схему  решение  

Популярно: Информатика