Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.013 c
15-1213008836
андр.
2008-06-09 14:53
2008.07.27
Interface


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


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


15-1212761210
Ega23
2008-06-06 18:06
2008.07.27
Не дать организьму умереть от обезвоживания?


4-1193296400
Василий К.
2007-10-25 11:13
2008.07.27
GWL_EXSTYLE в windows XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский