Loading...
ison4eto avatar ison4eto 40 Точки

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

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

0
Programming Basics
msmilkoff avatar msmilkoff 338 Точки
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 338 Точки

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

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 11 Точки

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
pavlinpetkov771 avatar pavlinpetkov771 0 Точки

Аз някак си успях да я направя, почти няма разлика във кодът :)

import datetime

input_datetime = input()
day, month, year = map(int, input_datetime.split('-'))
current_date = datetime.date(year, month, day)
after_1000_days = current_date + datetime.timedelta(days=1000)
output_date = after_1000_days.strftime("%d-%m-%Y")

print(output_date)

Не съм сигурен само, защо трябваше да добавя 1000 дни, а не 999. Броячът тук явно не ги започва от 0. И забелязах още нещо, когато добавих 999 дни към входната дата и направих нулевите тестове от книгата PB-Basic with Python ми даде правилен резултат, а в Judge ми излезе грешен и искаше да добавя още 1 ден.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.