// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 procedure MasPrint(a:array[,] of integer; k:integer); begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Write(a[i,j]:k); Writeln end end;
begin var n:=ReadInteger('Задайте число строк/столбцов в массиве:'); var a:=MatrixRandom(n,n,-99,99); Writeln('Исходный массив'); MasPrint(a,4); for var i:=0 to n-1 do for var j:=0 to n-1 do if i=j then a[i,j]:=1 else a[i,j]:=0; Writeln('Результирующий массив'); MasPrint(a,2) end.
not(a) and (b or not(c))
Код на Python:
for a in range(0,2):
for b in range(0,2):
for c in range(0,2):
f=not(a) and (b or not(c))
print('A = ',a,'B = ',b,'C = ',c,'F = ',f)
б) А и не ( В и или не С) получим такое выражение:
a and (b or not(c))
Код на Python:
for a in range(0,2):
for b in range(0,2):
for c in range(0,2):
f=a and (b or not(c))
print('A = ',a,'B = ',b,'C = ',c,'F = ',f)
в) не ( не А или В и С) преобразуем:
a and (b or c)
Код на Python:
for a in range(0,2):
for b in range(0,2):
for c in range(0,2):
f=a and (b or c)
print('A = ',a,'B = ',b,'C = ',c,'F = ',f)
procedure MasPrint(a:array[,] of integer; k:integer);
begin
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to Length(a,1)-1 do Write(a[i,j]:k);
Writeln
end
end;
begin
var n:=ReadInteger('Задайте число строк/столбцов в массиве:');
var a:=MatrixRandom(n,n,-99,99);
Writeln('Исходный массив');
MasPrint(a,4);
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if i=j then a[i,j]:=1 else a[i,j]:=0;
Writeln('Результирующий массив');
MasPrint(a,2)
end.
Тестовое решение
Задайте число строк/столбцов в массиве: 8
Исходный массив
42 94 45 -22 -15 -19 -43 68
-55 -52 -81 62 -16 -11 40 -2
-95 -94 -1 -83 63 -9 29 -15
-82 53 -26 24 -47 -74 45 48
55 -50 -23 30 -95 77 -47 -55
96 40 32 11 -14 -41 -36 -11
88 37 -81 -59 -83 -27 -19 -49
-35 -39 -39 32 -93 33 16 -80
Результирующий массив
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1