Здравейте имам въпрос към задача от домашното : Radians to Degrees
Здравейте бих желал да попитам нещо за кода, който съм написал. Дали е правилен и може ли да се оптимизира?Благодаря Ви!
Здравейте бих желал да попитам нещо за кода, който съм написал. Дали е правилен и може ли да се оптимизира?Благодаря Ви!
Здравей,
Решението ти е вярно.
Вариант първи е без "Math.Round()". Получената сума от изчислението го сабирам с (+)0.5 и го каствам към (int)
Пример първи --> получаваш 3.4 събираш го с (+)0.5 = 3.9 и го кастваш към цяло цисло без дробна част и получаваш (=)3.
Пример втори -- > получаваш 3.5 събираш го с (+)0.5 = 4.0 и го кастваш към цяло цисло без дробна част и полъчаваш (=)4.
Горе долу така работи (Math.Round()).
Console.Write("radians = ");
 var radians = double.Parse(Console.ReadLine());
 var degreess = (int)(radians / (Math.PI / 180.0) + 0.5);
 Console.Write("degrees = ");
 Console.WriteLine(degreess);
Ако нещо не ти е станало ясно питай смело.Успех!
Щом Judge дава 100 точки кода е правилен. Всяка задача има много решения, важното е сам да достигнеш до него, да мислиш алгоритмично. С течение на времето почват да ти хрумват и по-добри и прости решения, което за да стане трябва много да кодим. И моята епочти същата. http://pastebin.com/UZsH2aLZ
Колегата е прав че винаги има повече от един подход за решението на даден проблем във програмирането.Задачата може да се напише и на един ред - Решение.
Четенето и разбирането на кода се затруднява по този начин.
ами ето го и мойто,излиза точно в съдията Дред :))
            Console.WriteLine("Radiant = ");
            var radians = double.Parse(Console.ReadLine());
            var degrees = Math.Round(radians * 180 / Math.PI);
            Console.WriteLine("Degrees =  {0}",degrees);
Здравей,
виж и моя код, съдията му дава 100 :)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Radians_to_Degrees
{
    class Program
    {
        static void Main(string[] args)
        {
            var rad = double.Parse(Console.ReadLine());
            var degree = rad * 57.29578;
            var resultDegree = Math.Round(degree, 2);
            var resultABS = Math.Abs(resultDegree);
            Console.WriteLine(resultABS);
        }
    }
}
Здравей,
Ето как може да стане.
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Concatenate_Data
{
    class Program
    {
        static void Main(string[] args)
        {
var radians = double.Parse(Console.ReadLine());
Console.WriteLine(Math.Floor(180 / Math.PI * radians));
        }
    }
}
 
Аз просто съм го направил и ми дава 50%:
import java.util.Scanner;
public class RadianstoDegrees {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double rad = Double.parseDouble(scanner.nextLine());
        Double area = rad*57.3;
        System.out.println(area);
    }
}
        
А от къде идват тези скоби - (int)?
Това се нарича кастване "cast" в случая кастваме полученото число към int, което означава, че ако полученото число е примерно 5.5 след кастването, числото ще бъде 5 без (.5)