Каждую цифру обоих чисел заносим в массивы mas1 и mas2. Проходим по массивам от конца к началу и складываем циферки: mas1(20)+mas2(20). Если получилось меньше 10 — то в mas3 попадает сумма цифр и движемся к следующей паре цифр, а если получилось больше 10, то в mas3 попадает последняя цифра суммы, а первая перескакивает в следующий разряд и добавится к следующей сумме. И так постепенно дойдём до первых цифр. В итоге в mas3 будут все цифры суммы.
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 | DIM mas1%( 1 TO 20 ), mas2%( 1 TO 20 ), mas3%( 0 TO 20 ), i% RANDOMIZE TIMER CLS FOR i% = 1 TO 20 mas1%(i%) = INT(RND * 9 ) PRINT mas1%(i%); ""; NEXT i% PRINT FOR i% = 1 TO 20 mas2%(i%) = INT(RND * 9 ) PRINT mas2%(i%); ""; NEXT i% PRINT FOR i% = 20 TO 2 STEP - 1 IF (mas1%(i%) + mas2%(i%)) > 9 THEN mas3%(i%) = mas1%(i%) + mas2%(i%) - 10 mas2%(i% - 1 ) = mas2%(i% - 1 ) + 1 ELSE mas3%(i%) = mas1%(i%) + mas2%(i%) END IF NEXT i% FOR i% = 1 TO 1 mas3%(i%) = mas1%(i%) + mas2%(i%) IF (mas1%(i%) + mas2%(i%)) > 9 THEN mas3%(i%) = mas1%(i%) + mas2%(i%) - 10 mas3%( 0 ) = 1 END IF NEXT i% FOR i% = 0 TO 20 PRINT mas3%(i%); ""; NEXT i% PRINT END |