DIM a(1 TO 40) AS INTEGER CLS k = 0 RANDOMIZE TIMER FOR i = 1 TO 40 a(i) = INT(10 * RND) - 5 PRINT a(i); IF a(i) = 0 THEN k = k + 1 NEXT i PRINT PRINT "Количество нулей="; k
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 }
DIM a(1 TO 40) AS INTEGER
CLS
k = 0
RANDOMIZE TIMER
FOR i = 1 TO 40
a(i) = INT(10 * RND) - 5
PRINT a(i);
IF a(i) = 0 THEN k = k + 1
NEXT i
PRINT
PRINT "Количество нулей="; k
Тестовое решение
-2 -3 -1 -1 1 1 2 1 -5 -4 -3 4 -1 -3 1 -1 2 -4 2 3 2 -5 -2 0 -1 0
0 -3 2 -4 -5 1 2 -3 -5 -1 2 0 2 4
Количество нулей= 4