• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Нужна помощь

Регистрация
28 Май 2011
Сообщения
12
Реакции
0
Баллы
0
Нужна помощь

написать программу в паскале, которая по номеру дня в году выводит число и месяц в общепринятой форме (например 33-й день - 2 февраля)
 
помогите пожалуйста, а то у меня завал...
Да пожалуйста.
Там сначала вводится тип года - обычный, високосный, потом отсчет дня.
Код:
CONST
 Month_Name:Array[1..12] of String=('January','February','March','April',
                               'May','June','July','August',
                               'September','October','November','December');
 Days_in_Months_not_bis:Array[1..12] of Byte=(31,28,31,30,31,30,
                                              31,31,30,31,30,31);
 Days_in_Months_bis:Array[1..12] of Byte=(31,29,31,30,31,30,
                                          31,31,30,31,30,31);
VAR
 Year_Type,Month:Byte;
 i,j,N,Days:Integer;

BEGIN
 Write('Year_Type(not bis - 1, bis - 2): ');
 ReadLn(Year_Type);
 Write('Day number: ');
 ReadLn(N);
 Days:=0;
 Month:=0;
 If ((Year_Type=1) and (N=365)) or ((Year_Type=2) and (N=366)) then
  Writeln('31 of December')
 else
  Begin
   Repeat
    Inc(Month);
    If Year_Type=1 then
     Inc(Days,Days_in_Months_not_bis[Month])
    else
     Inc(Days,Days_in_Months_bis[Month]);
   Until Days>N;
   If Year_Type=1 then
    Dec(Days,Days_in_Months_not_bis[Month])
   else
    Dec(Days,Days_in_Months_bis[Month]);
   Writeln(N-Days:2,' of '+Month_Name[Month]);
  End;
 Readln
END.
 
Назад
Сверху