Loading...
tihomirpetrov79 avatar tihomirpetrov79 0 Точки

задача 10. Days Sum - проблем

Здравейте, опитах се да реша задачата с малко четене в различни сайтове как да ползвам метода DateTime.
При мен, след като написах кода всичко си се смята коректно, а в judge гърми и дава 0/100.

Моля за съвет.
Ето линк към кода :

https://pastebin.com/bPwHubj2

и линк към условието на задачата:
https://softuni.bg/trainings/resources/officedocument/33496/exercise-problem-descriptions-programming-basics-with-csharp-june-2018

*Пресмятане с дати: Сума от дни

 

Тагове:
0
Programming Basics
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

я по-добре седни я напиши наново веднъж parse-ваш дните обаче input1 input2 никъде не ги ползваш после пак ги parse-ваш след това  tostring() след това отново към int.. за цикъла са ти казали че започва от 1 ти го почваш от 0. Само тамо имаш едно завъртане повече. И ти искат разликата между 2те дати а ти събираш нещо от тях въобще станало e манджа с грозде.

 

https://pastebin.com/UWTBjJM3 eто го кратко и простичко 100/100 сигурно можех да измисля как да взема нечетните стойности и четните без цикъл но ме домързя и мача почна.

0
10/07/2018 21:12:01
tihomirpetrov79 avatar tihomirpetrov79 0 Точки

Манджата с грозде ок, но поне да каже, че има грешен код, а то ми дава:

Unhandled Exception: System.FormatException: String was not recognized as a valid DateTime.
   at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
   at P10.DaysSum.Program.Main()
0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

https://pastebin.com/UWTBjJM3 а имаш проблем с parse-ването  ето ти го решено :Д не слагаш никъде culture.invariantculture и не знае къде и как да ти parse-не деня на пс-то ти ти ползва локалните но Judge не ползва тях.А свиквай по-нататък и това няма да ти показва  а само грешен тест примерно това е част от нещата. А тази грешка е добра показва ти точно какво става и защо.

0
10/07/2018 21:20:19
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей,

за решаването на тази задача трябва да ползваш метода ParseExact .

Третия параметър в конструктора му трябва да е CultureInfo.InvariantCulture и съответно

към using-ите трябва да си добавиш using System.Globalization;

Останалата част от задачата е добавянето на дните към датите (.AddDays()) и сумирането им накрая.

Ето едно примерно решение на задачата:

https://pastebin.com/tayudd45

0
10/07/2018 21:25:01
tihomirpetrov79 avatar tihomirpetrov79 0 Точки
Оказа се, че съм чел датите директно като стринг.Вече всичко работи.
Благодаря ви, за решенията, но исках аз да стигна до моето ;)
namespace P10.DaysSum
{
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    class Program
    {
        public static void Main()
        {
            int n = int.Parse(Console.ReadLine());
            string format2 = "dd";
            
            DateTime date1 = DateTime.ParseExact(Console.ReadLine(), "dd-MM-yyyy"CultureInfo.InvariantCulture);
            DateTime date2 = DateTime.ParseExact(Console.ReadLine(), "dd-MM-yyyy"CultureInfo.InvariantCulture);
                        
            int counter1 = 0;
            int counter2 = 0;
 
 
            for (int i = 1; i <= n; i++)
            {
                if (i % 2 == 0)
                {
                    counter1++;
                }
                else if (i % 2 != 0)
                {
                    counter2++;
                }
            }
            string addDay1 = date1.AddDays(counter1).ToString(format2);
            string addDay2 = date2.AddDays(counter2).ToString(format2);
 
            int d1 = int.Parse(addDay1);
            int d2 = int.Parse(addDay2);
                       
            Console.WriteLine(d1+d2);
        }
    }
}
0
10/07/2018 22:19:57
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.