Skip to content
Snippets Groups Projects
Select Git revision
  • 433a6041aa938431c20dd7f3f6148d6f297abc54
  • main default protected
2 results

README.md

Blame
  • calcul.ml 918 B
    exception Finish
    exception Normal
    
    let n = ref 7
            
    let readline tab =
      let a,b = Scanf.scanf "%d %d\n" (fun a b -> (a,b)) in
      tab.(a).(0) <- tab.(a).(0) + 1;
      tab.(b).(1) <- tab.(b).(1) + 1;
      if a=b then tab.(a).(2) <- tab.(a).(2) + 1
                        
    let rap a b =
      let af = float_of_int a and bf = float_of_int b in
      100. *. (af /. bf)
    
    let pi i tab =
      rap (tab.(i).(2)) (tab.(i).(1))
    
    let ri i tab =
      rap (tab.(i).(2)) (tab.(i).(0))
    
    let printPiRis tab ch =
      let l,f = if ch then "P",pi else "R",ri in
      for i=0 to !n-1 do
        Printf.printf "%s%d=%.1f\t" l i (f i tab)
      done;
      Printf.printf "\n"
               
    let _ =
      (try
         n := int_of_string Sys.argv.(1)
      with
      | _ -> ());
      let tab = Array.make_matrix !n 3 0 in 
      try                       
        while true do
          readline tab
        done
      with
      | Finish | End_of_file  -> List.iter (printPiRis tab) [true;false]