Advertisement
Guest User

Untitled

a guest
May 5th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.83 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace IGCalculator
  8. {
  9.     class Program
  10.     {
  11.         static public double I(double p, double n)
  12.         {
  13.             double result = (-p * Math.Log(p, 2) - n * Math.Log(n, 2));
  14.             if (result.ToString() == "NaN")
  15.             {
  16.                 return 0;
  17.             }
  18.             return result;
  19.         }
  20.  
  21.         static public double IG(double x1, double p1, double q1, double x2, double p2, double q2, double x3, double p3, double q3)
  22.         {
  23.             return x1 * I(p1, q1) + x2 * I(p2, q2) + x3 * I(p3, q3);
  24.         }
  25.  
  26.         static void Main(string[] args)
  27.         {
  28.             double x1;
  29.             double p1;
  30.             double q1;
  31.             x1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  32.             p1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  33.             q1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  34.  
  35.             double x2;
  36.             double p2;
  37.             double q2;
  38.             x2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  39.             p2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  40.             q2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  41.  
  42.             double x3;
  43.             double p3;
  44.             double q3;
  45.             x3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  46.             p3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  47.             q3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
  48.  
  49.             Console.WriteLine("IG = {0}", IG(x1, p1, q1, x2, p2, q2, x3, p3, q3));
  50.             Console.ReadLine();
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement