Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2011, 21:21   #1
darkkhan
Новичок
Джуниор
 
Регистрация: 20.01.2011
Сообщений: 11
Смех Определить название месяца этого дня.

С начала 2000 года по некоторый день прошло n месяцев и m дней. Определить название месяца этого дня.

Помогите ребята плиз? завтра сдать нада.....я чайник в этом деле
darkkhan вне форума Ответить с цитированием
Старый 21.01.2011, 21:29   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

В году 12 месяцев, определить номер месяца, название которого вам необходимо вывести - элементарно, к тому же, насколько я понимаю, число дней можно проигнорировать, есло оно меньше 31 в любом месяце, если его номер не равен 2 и меньше 29 если равен 2. Как-то так.
_Engine_ вне форума Ответить с цитированием
Старый 21.01.2011, 21:34   #3
darkkhan
Новичок
Джуниор
 
Регистрация: 20.01.2011
Сообщений: 11
Злость (((

да как то так но записать мне не судьба как будто
darkkhan вне форума Ответить с цитированием
Старый 21.01.2011, 21:35   #4
darkkhan
Новичок
Джуниор
 
Регистрация: 20.01.2011
Сообщений: 11
По умолчанию

кстати число дней проигнорить нельзя
darkkhan вне форума Ответить с цитированием
Старый 21.01.2011, 21:38   #5
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Пиши, что у тебя получается. Посмотрим
_Engine_ вне форума Ответить с цитированием
Старый 21.01.2011, 22:00   #6
darkkhan
Новичок
Джуниор
 
Регистрация: 20.01.2011
Сообщений: 11
По умолчанию броу

слушай броу, конечно не твоё дело, но если сможешь, напиши пожалуйста эту задачу, я сестре делаю......у неё 10задач блин не выгребу.....заранее спасибо
darkkhan вне форума Ответить с цитированием
Старый 21.01.2011, 23:04   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и что, готовое решение поможет?
ой сомневаюсь..

ладно, попробуем:
Код:
const
  MonthName : array[1..12] of string[8] =
('Январь','Февраль','Март','Апрель','Май','Июнь','Июль',
'Август','Сентябрь','Октябрь','Ноябрь','Декабрь');  

{*                    OPDATE.PAS 1.21                    *}
{*     Copyright (c) TurboPower Software 1988, 1992.     *}

  function IsLeapYear(Year : Integer) : Boolean;
    {-Return True if Year is a leap year}
  begin
    IsLeapYear := (Year mod 4 = 0) 
          and (Year mod 4000 <> 0) and
            ((Year mod 100 <> 0) or (Year mod 400 = 0));
  end;


  function DaysInMonth(Month, Year : Integer) : Integer;
    {-Return the number of days in the specified month of a given year}
  begin
    case Month of
      1, 3, 5, 7, 8, 10, 12 :
        DaysInMonth := 31;
      4, 6, 9, 11 :
        DaysInMonth := 30;
      2 :
        DaysInMonth := 28+Ord(IsLeapYear(Year));
    else
      DaysInMonth := 0;
    end;
  end;
  
var
  n, m, NomMonth, Year, NomDay, TempNomDay, CurMonth : integer;

begin
  WriteLn('Ввведите количество месяцев N и количество дней M: ');
  Readln(n, m);

  if (n<0) or (m<0) then begin
    WriteLn('Должны быть целые положительные числа!');
    Halt(1);
  end;

  Year := 2000 + (n div 12);
  NomMonth := n mod 12 + 1;

  while (m>0) and (m>DaysInMonth(NomMonth, Year)) do
  begin
    m := m - DaysInMonth(NomMonth, Year);
    inc(NomMonth);
    if NomMonth>12 then begin
      NomMonth := 1;
      inc(Year);
    end;
  end;

  WriteLn('Название месяца будет : '+MonthName[NomMonth],
      '  кстати, год будет : ',Year:1);
  Readln;
  
end.
NB. количество месяцев прибавляется, а потом прибавляются дни.
например, 1 месяц 1 день - это будет Февраль.
а 0 месяцев 31 день - это Январь.
а 12 месяцев 1 день - это будет 1 января 2001 года.



ДОБАВЛЕНО
А если бы я раньше увидел эту тему
и понял, что Вы вместо того, чтобы учиться, искать похожие примеры и что-то сделать самостоятельно,
лишь кросспостингом пытаетесь форумчан вынудить решиь Вам эту задачу,
не стал бы пример решения писать...

Последний раз редактировалось Serge_Bliznykov; 22.01.2011 в 08:40.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Название месяца Swatch Microsoft Office Access 2 17.10.2010 08:49
В ячейке проставить название предыдущего месяца kzld Microsoft Office Excel 6 08.10.2010 11:30
В ячейке проставить название месяца, согласно номеру листа kzld Microsoft Office Excel 5 06.10.2010 10:32
Создать итоги для каждого дня, месяца, года kammal Microsoft Office Excel 1 03.10.2010 21:30
Плиз! Помогите с формулой название месяца на украинском языке gleod Microsoft Office Excel 10 12.06.2009 11:14