/* Проверка на линейные совпадения */ if ( (x1 == x2) or (y1 == y2) ) { printf("1"); return 1; }
/* Поиск пересечения с диагональю 1 */ x_d1 = x1; y_d1 = y1; while ( (x_d1 > 1) and (y_d1 > 1) ) { x_d1--; y_d1--; if ( (x2 == x_d1) and (y2 == y_d1) ) { printf("1"); return 1; } } while ( (x_d1 < 8) and (y_d1 < 8) ) { x_d1++; y_d1++; if ( (x2 == x_d1) and (y2 == y_d1) ) { printf("1"); return 1; } }
/* Поиск пересечения с диагональю 2 */ x_d2 = x1; y_d2 = y1; while ( (x_d2 < 8) and (y_d1 > 1) ) { x_d1++; y_d1--; if ( (x2 == x_d2) and (y2 == y_d2) ) { printf("1"); return 1; } } while ( (x_d1 > 1) and (y_d1 < 8) ) { x_d1--; y_d1++; if ( (x2 == x_d2) and (y2 == y_d2) ) { printf("1"); return 1; } }
printf("0"); return 0; }
deadnobody
27.08.2022
Microsoft QBasic 1.0
DIM x AS INTEGER, y AS INTEGER CLS INPUT "X=", x INPUT "Y=", y REDIM C(1 TO x, 1 TO y) AS INTEGER REDIM k(1 TO y) AS INTEGER REDIM a(1 TO y) AS DOUBLE RANDOMIZE TIMER PRINT "M A T R I X C" FOR i = 1 TO x k(i) = 0: a(i) = 0 FOR j = 1 TO y C(i, j) = INT(50 * RND + 10) PRINT USING "###"; C(i, j); IF C(i, j) MOD 7 = 0 THEN k(i) = k(i) + 1 a(i) = a(i) + C(i, j) END IF NEXT j PRINT NEXT i PRINT FOR i = 1 TO y PRINT USING "###"; k(i); NEXT i PRINT " - Количество" PRINT "Средние" FOR i = 1 TO y IF k(i) <> 0 THEN a(i) = a(i) / k(i) PRINT a(i) ELSE PRINT "Infinity" END IF NEXT i
Пример работы программы X=6 Y=9 M A T R I X C 38 40 31 33 31 22 54 16 43 23 56 11 19 18 11 34 47 13 59 59 26 23 54 15 53 20 33 28 24 39 46 42 37 47 45 41 20 25 39 35 16 13 12 17 27 17 49 22 29 28 29 52 40 55
=ЕСЛИ(H5="да";G5-G5*0.1;G5)
Объяснение: