Four Factors -- Задача от изпит 12.July2015
3ащо ми дава последните 2 отговора 0.000 ? Къде бъркам??
using System;
class Program
{
    static void Main()
    {
        uint fieldGoals = uint.Parse(Console.ReadLine());
        uint fieldGoalAttempted = uint.Parse(Console.ReadLine());
        uint threePointFieldGoals = uint.Parse(Console.ReadLine());
        uint turnovers = uint.Parse(Console.ReadLine());
        uint offensiveRebounds = uint.Parse(Console.ReadLine());
        uint opponentDefensiveRebounds = uint.Parse(Console.ReadLine());
        uint freeThrows = uint.Parse(Console.ReadLine());
        uint freeThrowAttempts = uint.Parse(Console.ReadLine());
        Console.WriteLine("eFG% {0:F3}", (fieldGoals + 0.5 * threePointFieldGoals) / fieldGoalAttempted);
        Console.WriteLine("TOV% {0:F3}", turnovers / (fieldGoalAttempted + 0.44 * freeThrowAttempts + turnovers));
        Console.WriteLine("ORB% {0:F3}", offensiveRebounds / (offensiveRebounds + opponentDefensiveRebounds));
        Console.WriteLine("FT% {0:F3}", freeThrows / fieldGoalAttempted);
    }
}
ами понеже в условието пише "All input parameters will be valid integers, in the range [1 ... 3,000,000,000 ]. " А аз много често ги бъркам и все внимавам, а то при прекаленото внимаване, е тва става.. Благодаря много ;) пийс
Погледнато реално, няма проблем да ги приемеш и като uint но после ще трявба да ги кастваш към дабъл при аритметичните операции.
Console.WriteLine("ORB% {0:F3}", (double)offensiveRebounds / (offensiveRebounds + opponentDefensiveRebounds));
Console.WriteLine("FT% {0:F3}", (double)freeThrows / fieldGoalAttempted);
На мен лично в началото ми беше голяма драма с тези каствания, но с времето ще ти станат напълно ясни.
Поздрави!
Ако делиш целочислено на целочислено, ще получиш целочислено число, затова трябва да се кастне отпред, че искаш да е дабъл, за да ти върне дробно.