Софтуерно Инженерство
Loading...
+ Нов въпрос
ison4eto avatar ison4eto 40 Точки

[Homework]13. 1000 Days After Birth - Simple Calculations

Здравейте, Задачата работи в VS и извежда правилни отговори, но Judge-a ми дава компилационни грешки (неправилен формат) и грешни отговори (във VS програмата извежда правилния отговор, в системата - различна дата и месец). Кода ТУК.

msmilkoff avatar msmilkoff 341 Точки
Best Answer

Не използвай Convert.ToDateTime... ползвай си ParseExact и му задай формата.

0
ramsess avatar ramsess 1 Точки

Нещо не ти харесва формата на датата пробвай да не използваш стринга

http://pastebin.com/aXfKcrxR

-2
itorlakov avatar itorlakov 4 Точки

Здравей, възможно е някъде при преобразуванията да го прави на от "0#" на "#" месеците. Пробвай да записваш всичко само в една променлива, за да видиш да не е от постоянното прехвърляне. Решението на проблема го направих по следния начин.

using System;
using System.Globalization;

namespace SimpleCalculations{
	class MainClass	{
		public static void Main (string[] args)	{
			string date = Console.ReadLine();
			DateTime result = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture);
			result = result.AddDays(999);
			Console.WriteLine(result.ToString("dd-MM-yyyy"));
		}
	}
}

 

-1
msmilkoff avatar msmilkoff 341 Точки

Стига сте поствали готови решения... Това е като преписването - не помага на никой.

1
itorlakov avatar itorlakov 4 Точки

Има трина начина да се научиш да програмираш - литература, четене на код и писане на код. Човек сам избира как и какво ще ползва. Сега може да го препише, но ако разбере функциите не ли от полза за него? :)

0
n.andonov avatar n.andonov 1 Точки

Здравейте, аз стигнах до тук :

            String input = Console.ReadLine();
            String format = "dd-ММ-yyyy";
            DateTime birth = DateTime.ParseExact(input, format, null);
            DateTime finaldate = birth.AddDays(999);
            Console.WriteLine(finaldate.ToString("dd-ММ-yyyy"));

но искам въвеждънето на датата да е "устойчиво" за потребиелите, да не е задължително да се отделят със средно тире.

Моля за помощ !
 

 

0
30/01/2017 23:33:21
GenadiMihaylov avatar GenadiMihaylov 9 Точки

http://pastebin.com/CDzM7LtT

Може да въвеждаш дата разделена с точка, запетая, тире, наклонена черта.

0
03/02/2017 22:48:40
n.andonov avatar n.andonov 1 Точки

Благодаря ти колега !

0
VictoriaMileva avatar VictoriaMileva 2 Точки

Ето отговора на задачата:smiley

using System;
using System.Collections.Generic;
using System.Linq;
using System.Globalization;
using System.Text;
using System.Threading.Tasks;

namespace _1000_days
{
    class Program
    {
        static void Main(string[] args)
        {
            CultureInfo provider = CultureInfo.InvariantCulture;
            string format = "dd-MM-yyyy";
            var date = DateTime.ParseExact(Console.ReadLine(), format, provider);
            var date1 = date.AddDays(999);
            Console.WriteLine(date1.ToString(format));
        }
    }
}

Получих 100 точки в judge системата.laugh

0
06/02/2017 19:24:22
Kagemaru avatar Kagemaru 17 Точки

Аз имам същия проблем, само че на Python.

import datetime

date_entry = input()
year, month, day = map(int, date_entry.split('-'))
date1 = datetime.date(year, month, day)
finale_date = date1 + datetime.timedelta(days=999)
new_today_date = finale_date.strftime("%d-%m-%Y")

print(new_today_date)

Дава ми грешка:

Traceback (most recent call last):
  File "C:\Windows\TEMP\ExecutionStrategies\dkawq4lb.rox\tmpEACF.tmp", line 5, in <module>
    date1 = datetime.date(day, month, year)
ValueError: day is out of range for month
0