Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace IGCalculator
- {
- class Program
- {
- static public double I(double p, double n)
- {
- double result = (-p * Math.Log(p, 2) - n * Math.Log(n, 2));
- if (result.ToString() == "NaN")
- {
- return 0;
- }
- return result;
- }
- static public double IG(double x1, double p1, double q1, double x2, double p2, double q2, double x3, double p3, double q3)
- {
- return x1 * I(p1, q1) + x2 * I(p2, q2) + x3 * I(p3, q3);
- }
- static void Main(string[] args)
- {
- double x1;
- double p1;
- double q1;
- x1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- p1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- q1 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- double x2;
- double p2;
- double q2;
- x2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- p2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- q2 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- double x3;
- double p3;
- double q3;
- x3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- p3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- q3 = Double.Parse(Console.ReadLine()) / Double.Parse(Console.ReadLine());
- Console.WriteLine("IG = {0}", IG(x1, p1, q1, x2, p2, q2, x3, p3, q3));
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement