Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.27;
Скачать: CL | DM;

Вниз

помогите алгоритмом   Найти похожие ветки 

 
kazar   (2008-06-27 14:30) [0]

а как бы закодить такую штуку) скажем имеется у меня 6 это номер месяца, тоесть июнь, я прибавляю 8 это 14, это буит февраль, на выходе месяцы с июня по февраль


 
Palladin ©   (2008-06-27 14:34) [1]

на выходе откуда?


 
Ega23 ©   (2008-06-27 14:35) [2]

6+8=14 ???
Это с каких это пор?
6+8=Е


 
Игорь Шевченко ©   (2008-06-27 14:46) [3]


> а как бы закодить такую штуку


MOD 12


 
Игорь Шевченко ©   (2008-06-27 14:47) [4]


>  я прибавляю 8


9 надо прибавлять


 
AndreyV ©   (2008-06-27 15:10) [5]

> [0] kazar   (27.06.08 14:30)

Только с июня текущего года по февраль следующего?
>
[3] Игорь Шевченко ©   (27.06.08 14:46)
> MOD 12

Не покатит - месяца 0 не существует.


 
McSimm ©   (2008-06-27 15:16) [6]


> Не покатит - месяца 0 не существует.

а если хоть капельку подумать?

информация для капельки:
mod 12 вернет значения от 0 до 11. (всего 12 возможных значений)


 
AndreyV ©   (2008-06-27 15:35) [7]

> [6] McSimm ©   (27.06.08 15:16)
> а если хоть капельку подумать?
>
> информация для капельки:
> mod 12 вернет значения от 0 до 11. (всего 12 возможных значений)

Да я не о том.
Вопрос не понятен. Что за: "на выходе месяцы"?


 
Anatoly Podgoretsky ©   (2008-06-27 15:47) [8]

27.06.2008 - 27.14.2008


 
Rouse_ ©   (2008-06-27 15:48) [9]


> Не покатит - месяца 0 не существует.

Ну а с единицы только на Бейсике индексируют ;)


 
Anatoly Podgoretsky ©   (2008-06-27 15:49) [10]

Реализация

for m := 6 to 14 do x := "27." + FormatFloat("00", m) + ".2008";


 
Поросенок Винни-Пух ©   (2008-06-27 15:50) [11]

это не месяц. месяц круглый и желтый.


 
korneley ©   (2008-06-27 16:07) [12]


> Поросенок Винни-Пух ©   (27.06.08 15:50) [11]
> это не месяц. месяц круглый и желтый.

Гы... Он не круглый, круглая Луна. И то, не всегда. Месяц, он серповидный... :))


 
kazar   (2008-06-27 16:08) [13]

Насчёт выхода, скажем пусть пишет в массив. Я получил 14 месяцев, например: июнь 2008 г, июль 2008 г, август 2008 г, ........июнь 2009 г. Тоесть в массиве будут чисто названия этих месяцев.


 
Поросенок Винни-Пух ©   (2008-06-27 16:08) [14]

это оптический обман. еще галилей знал, что месяц круглый


 
Palladin ©   (2008-06-27 16:13) [15]

Const
Months:Array [0..11] of String=(
   "Январь",
   "Февраль",
   "Март",
   "Апрель",
   "Май",
   "Июнь",
   "Июль",
   "Август",
   "Сентябрь",
   "Ноябрь",
   "Декабрь")

Var
 a:Array [0..6] of String;
 y,i:Integer;

 y:=2008;
 For i:=8 to 14 Do a[i-8]:=Months[i mod 12]+" "+IntToStr(y+(i div 12));


 
korneley ©   (2008-06-27 16:15) [16]


> Anatoly Podgoretsky ©   (27.06.08 15:49) [10]

Не сработает :)
А без цикла не обойтись. Если: "на выходе месяцы с июня по февраль
" Далее IncMonth() в руки, ну и, как водится - F1


 
Anatoly Podgoretsky ©   (2008-06-27 16:17) [17]

> Поросенок Винни-Пух  (27.06.2008 16:08:14)  [14]

Месяц не круглый, в нем от 28 до 31 дня.


 
Поросенок Винни-Пух ©   (2008-06-27 16:21) [18]

Const
Months:Array [0..11] of String=(
  "Январь",
  "Февраль",
  "Март",
  "Апрель",
  "Май",
  "Июнь",
  "Июль",
  "Август",
  "Сентябрь",
  "Ноябрь",
  "Декабрь")


Ай-ай! Как не стыдно!
Sysutils.LongMonthNames


 
Palladin ©   (2008-06-27 16:23) [19]

а они с 1 начинаются, а нафига лишний инкремент, очень сильно влияет на производительность


 
Anatoly Podgoretsky ©   (2008-06-27 16:26) [20]

> korneley  (27.06.2008 16:15:16)  [16]

Как это не сработает, я же проверял, у меня получилось 27.14.2008


 
korneley ©   (2008-06-27 16:27) [21]


> Palladin ©   (27.06.08 16:13) [15]

О, блин! Только понял: "Так автору нужны только месяцы!". Поэтому +IntToStr(y+(i div 12)); можно исключить. :)


 
Игорь Шевченко ©   (2008-06-27 16:28) [22]

Anatoly Podgoretsky ©   (27.06.08 16:26) [20]

До сих пор в 14-ом месяце было 25 дней


 
korneley ©   (2008-06-27 16:30) [23]


> Anatoly Podgoretsky ©   (27.06.08 16:26) [20]

:)) Боюсь, читатели даты будут немного дезориентированы :))


 
Palladin ©   (2008-06-27 16:41) [24]


> korneley ©   (27.06.08 16:27) [21]

да не... в [13] аффтар примеры привел... но мой код все равно на смарку... я букву гэ не добавил...


 
Anatoly Podgoretsky ©   (2008-06-27 17:04) [25]

> korneley  (27.06.2008 16:30:23)  [23]

Сменить читателей.


 
Anatoly Podgoretsky ©   (2008-06-27 19:54) [26]


> я букву гэ не добавил...

Без буквы Гэ это не код, а без буквы Гэ


 
kazar   (2008-06-29 22:05) [27]

И все таки,  ёще раз, начальная дата 29.06.2008, конечная дата 29.02.2009. Резульата
Июнь2008, Июль2008, Август2008 …… Январь2009, Февраль2009. Но начальная и конечная дата могут меняться.


 
Сергей М. ©   (2008-06-29 22:20) [28]

IncMonth() в цикле по числу "прибавляемых" месяцев, в каждой итерации - сравнение полученного в рез-те инкремента значения даты с указанной границей диапазона дат.


 
kazar   (2008-06-29 23:54) [29]

сори, пример можно?


 
korneley ©   (2008-06-30 00:50) [30]


> kazar   (29.06.08 23:54) [29]
> сори, пример можно


вар МайДатеТайм, типа, TДатеТайм;
...
 МайДатеТайм присвоить Нау;
 фор и присвоить ноль до КоличествоМесяцев минус один бегин
   ...
   МайДатеТайм присвоить IncMonth(МайДатеТайм);
   ...
//the
 end;


 
{RASkov} ©   (2008-06-30 00:52) [31]

> [29] kazar   (29.06.08 23:54)

А чем тебе [15] - не пример?
Вот примерно тоже самое, т.е. подправлено:

procedure EnumMes(FromYear, FromMes, CountMes: Integer; Lst: TStrings);
var i: Integer;
begin
 {Тут всякие проверки на вшивость, диапазон FromMes, валидность Lst... и т.п.}
 for i:=FromMes-1 to FromMes+CountMes-2 do
  Lst.Add(Format("%s %d г.", [LongMonthNames[i mod 12+1], FromYear+(i div 12)]));
end;

Например:
EnumMes(2008, 6, 8, ListBox.Items);



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.021 c
2-1214475991
Vit
2008-06-26 14:26
2008.07.27
Компиляция и билд


15-1213218108
wl
2008-06-12 01:01
2008.07.27
статистика wi-fi соединений???


2-1214401410
Makaveli
2008-06-25 17:43
2008.07.27
WinInet и HttpSendRequest


1-1195488425
DevilDevil
2007-11-19 19:07
2008.07.27
Получить Call-Stack


2-1214822127
Igor23
2008-06-30 14:35
2008.07.27
Работа с IdHTTP