Реализовать игру “Крестики - нолики” в Pygame. Игроки ходят по очереди, начинают крестики, каждый следующий клик по ячейке в таблице - следующий ход. Вверху над таблицей выводит надпись, которая сообщает, кто сейчас ходит.
begin var n := ReadlnInteger('n = '); var m := ReadlnInteger('m = '); var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin a := new integer[m, n]; for var i := 0 to m-1 do for var j := 0 to n-1 do a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = '); end else a := MatrixRandom(m, n, 1, 100); Println(a);
var b := ArrGen(n, x -> 1); for var i := 0 to m-1 do for var j := 0 to n-1 do if j mod 2 = 0 then b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println(); end.
Что бы определить IP сети, зная адрес узла и маску сети, для начала нужно перевести неполные байты маски (то есть те, значения которых меньше 255) и соответствующие им байты адреса узла в двоичную СС:
x.x.254.139 -> х.х.11111110.10001011
х.х.240.0 -> х.х.11110000.00000000
Запишем интересующие нас байты друг над другом и выполним поразрядную конъюнкцию:
11111110.10001011
11110000.00000000
Получаем:
11110000.0000000
Данная двоичная запись представляет собой два последних байта адреса сети. Т.к в первые 2 байта маски равны 255, то соответственные им байты адреса узла не изменятся. Переведём полученную двоичную запись в 10-СС:
a: array [,] of integer;
begin
var n := ReadlnInteger('n = ');
var m := ReadlnInteger('m = ');
var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin
a := new integer[m, n];
for var i := 0 to m-1 do
for var j := 0 to n-1 do
a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
end
else a := MatrixRandom(m, n, 1, 100);
Println(a);
var b := ArrGen(n, x -> 1);
for var i := 0 to m-1 do
for var j := 0 to n-1 do
if j mod 2 = 0 then
b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.
211.64.240.0
Объяснение:
Что бы определить IP сети, зная адрес узла и маску сети, для начала нужно перевести неполные байты маски (то есть те, значения которых меньше 255) и соответствующие им байты адреса узла в двоичную СС:
x.x.254.139 -> х.х.11111110.10001011
х.х.240.0 -> х.х.11110000.00000000
Запишем интересующие нас байты друг над другом и выполним поразрядную конъюнкцию:
11111110.10001011
11110000.00000000
Получаем:
11110000.0000000
Данная двоичная запись представляет собой два последних байта адреса сети. Т.к в первые 2 байта маски равны 255, то соответственные им байты адреса узла не изменятся. Переведём полученную двоичную запись в 10-СС:
11110000.0000000 -> 240.0
Отсюда имеем адрес сети:
211.64.240.0