09. Operations Between Numbers
Успях да го докарам до 60/100 в Judge и зациклих. Като въвеждам данни ми дава вярни резултати, но judge-a нещо пак не харесва. Може ли за малко помощ.
Кода:
Условието:
Успях да го докарам до 60/100 в Judge и зациклих. Като въвеждам данни ми дава вярни резултати, но judge-a нещо пак не харесва. Може ли за малко помощ.
Кода:
Условието:
При операциите деление и модулно деление, трябва първо да провереш дали второто число е 0 и ако не е 0 само тогава да извършиш операцията, а ти първо делиш и после проверяваш. При деление на 0 се хвърля грешка, а ти трябва да изпишеш съобщение "Cannot divide {n1} by zero"
else if (symbol == "/")
{
if (n2 != 0)
{
result = n1 / n2;
Console.WriteLine("{0} {1} {2} = {3:f2}", n1, symbol, n2, result);
}
else
{
Console.WriteLine("Cannot divide {0} by zero", n1);
}
}
else if (symbol == "%")
{
if (n2 != 0)
{
result = n1 % n2;
Console.WriteLine("{0} {1} {2} = {3}", n1, symbol, n2, result);
}
else
{
Console.WriteLine("Cannot divide {0} by zero", n1);
}
}
И понеже и аз имам 90/100 ,въпреки описания от теб последен вариант пак не дава 100/100 или има друго в моя код:
https://pastebin.com/pGJsNn3b
Благодаря!
Поправих кода както vangel спомена, но отново 90/100.
Продължавам борбата.
И аз така
Ето го целият код редактиран, на мен ми дава 100/100
https://www.dropbox.com/s/fic28z100kdrz2l/operationsBetweenNumbers.cs?dl=0
Проверката дали резултатът е нечетно число трябва да бъде
result % 2 != 0 вместо result % 2 == 1
Ако резултатът е отрицателно нечетно число result % 2 = -1
https://dotnetfiddle.net/wsKj5S
Да,това е грешката,но аз лично не си обеснявам защо при един подход работи,по друг не при положение,че и двете са еднакви!?Дали ще е result%2==1-т.е. да е нечетно число или result%2!=0-което пак ще даде нечетно.Явно аз мисля грешно.
...сега видях обяснението ти горе,но не мога да си го обясня,а искам
След много мъки изпращам код със 100 точки.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Operations_Between_Numbers
{
class Program
{
static void Main(string[] args)
{
double N1 = double.Parse(Console.ReadLine());
double N2 = double.Parse(Console.ReadLine());
string operat = Console.ReadLine();
double result =0;
if(operat == "+"&& N1>=0 && N2>=0)
{
result = N1 + N2;
if (result % 2 == 0)
{
Console.WriteLine($"{N1} + {N2} = {result} - even");
}
else
{
Console.WriteLine($"{N1} + {N2} = {result} - odd");
}
}
else if (operat == "-" && N1>=0 && N2>=0)
{
result = N1 - N2;
if (result % 2 == 0)
{
Console.WriteLine($"{N1} - {N2} = {result} - even");
}
else
{
Console.WriteLine($"{N1} - {N2} = {result} - odd");
}
}
else if (operat == "*" && N1 >= 0 && N2 >= 0)
{
result = N1 * N2;
if (result % 2 == 0)
{
Console.WriteLine($"{N1} * {N2} = {result} - even");
}
else
{
Console.WriteLine($" {N1} * {N2} = {result} - odd");
}
}
else if (operat == "/" && N1 >= 0 && N2 >= 0)
{
result = N1 / N2;
if (N2 !=0)
{
Console.WriteLine($"{N1} / {N2} = {result:f2}");
}
else
{
Console.WriteLine($"Cannot divide {N1} by zero");
}
}
else if (operat =="%" && N1 >= 0 && N2 >= 0)
{
result = N1 % N2;
if (N2 != 0)
{
Console.WriteLine($"{N1} % {N2} = {result}");
}
else
{
Console.WriteLine($"Cannot divide {N1} by zero");
}
}
}
}
}