anchor.diff:                          this.TryToInfect computers.[i] i
               List.map (fun v -> attack v) infected
           
  +        /// shows is the network stays in stabilized condition (other moves make nothing)
           member this.IsStabilized() =
               let mutable result = true
  -            for comp in computers do
  -                if (not(comp.Infected)) then result <- false
  -            result
  +            Seq.forall(fun (comp:Computer) -> comp.Infected) <| Array.toSeq computers
           
  +        /// prints current information about the network
           member this.PrintInfo() =
               for i in 0 .. computersNumber - 1 do
  -                let res = if (computers.[i].Infected) then ("infected") else ("clear")
  +                let res = if (computers.[i].Infected) then "infected" else "clear"
                   printfn "%A %A" i res
   
       //check
  
positive.code: 
          let random = System.Random()
  
          member this.AddVirus(indexOfPc:int) =
              computers.[indexOfPc].Infected <- true
              infected <- (indexOfPc) :: infected
  
          member this.TryToInfect (comp:Computer) i =
              if (random.NextDouble() <= comp.Os.Probability) then 
                  comp.Infected <- true
                  infected <- (i) :: infected
          
          member this.NextMove() =
              let attack j =
                  for i in 0 .. computersNumber - 1 do
  
negative.code: ﻿module Program
  
  module Task1 =
      /// operating system class
      type OS(name) =
          /// name of OS
          member val Name = name with get
  
          /// probability of being infected by a virus
          member val Probability = match name with
                                   | "Windows" -> 0.01
                                   | "Linux" -> 0.018
                                   | "Mac" -> 0.017
                                   | _ -> 0.9
                                   with get
      /// a computer class
      type Computer(newOs) =
          /// gets the operating system
          member val Os : OS = newOs with get
  
          /// shows is a computer infected
          member val Infected = false with get, set
  
      /// network class repesenting computer with viruses
      type Network(matrix:int[][], newComputers:Computer[], num:int) =
  
          let mutable net = matrix
  