PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018Внимание! Если программа не работает, обновите версию!begin var n:=ReadInteger('Количество строк/столбцов в таблице:'); var a:=MatrRandom(n,n,0,1); a.Println(2); Writeln(2*a.ColCount*'-'); // 1 var k:=0; for var i:=0 to a.RowCount-1 do for var j:=0 to a.ColCount-3 do if (a[i,j]=0) and (a[i,j+1]=0) and (a[i,j+2]=0) then begin k+=1; break end; Writeln('1: ',k); // 2 k:=0; for var j:=0 to a.ColCount-1 do if (a[0,j]=0) and (a[1,j]=1) then begin var (i,flag):=(2,True); while i<=a.RowCount-2 do begin if not ((a[i,j]=0) and (a[i+1,j]=1)) then begin flag:=False; break end else i+=2 end; if flag then k+=1 end else if (a[0,j]=1) and (a[1,j]=0) then begin var (i,flag):=(2,True); while i<=a.RowCount-2 do begin if not ((a[i,j]=1) and (a[i+1,j]=0)) then begin flag:=False; break end else i+=2 end; if flag then k+=1 end; Writeln('2: ',k); // 3 var r0:=a.Rows.Where(row->row.All(t->t=0)).Count; var c1:=a.Cols.Where(col->col.All(t->t=1)).Count; Writeln('3: Нулевых строк ',r0,', единичных колонок ',c1)end.
ПримерКоличество строк/столбцов в таблице: 4 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1--------1: 12: 13: Нулевых строк 0, единичных колонок 1