Плавать к Путину можно только в пять утра

Чтобы отправить комментарий — войдите.
  • D
    22 дек 15
    Удивляюсь и сожалею. Эх, какую возможность профукали
    Ответить
    • serg_io
      В штате Айова всё хорошо.

      А жаль — такая рифма пропадает!..
      Ответить
  • A
    22 дек 15
    Ответить
    • wipwiper
      Ну уж... Зачем цензуру то вспоминать...
      Ответить
  • H
    22 дек 15
    На самом деле там в коде hours целое число, поэтому hours > 5 && hours < 6 всегда будет ложь, и в любое время суток будут рандомные данные.

    И если это не фейк, созданный в Купертино и размещенный на серверах в Калифорнии (тм), то я офигиваю от такой квалификации программеров.
    Ответить
    • DmitrySPz
      всегда будет ложь

      Можно проверить:

      bool hungrytest = Hours && Hours > 5 && Hours < 6 && Minutes > 0 && Minutes < 30;

      if (hungrytest){

      MainData->ResolveMessage( что то пошло не так );

      MainData->format C:;

      }

      else

      MainData->ResolveMessage( heres2003 был прав );
      Ответить
      • H
        что бы проверить достаточно просто знать математику.

        Целое число не может быть одновременно больше 5 и меньше 6, потому что между 5 и 6 целых чисел нет.

        hours && hours > 5 это тоже феерично, поскольку второе условие покрывает первое.
        Ответить
        • DmitrySPz
          даю подсказку : time не число
          Ответить
          • H
            hours объявлено как unsigned short;

            $ cat a.c

            #include

            int main()

            {

            unsigned short i;

            for( i=0; i5 && i
            Ответить
            • DmitrySPz
              Unix время в данный момент 10-и значное число

              Вижу, вы никогда с Unix time не имели дел.
              Ответить
              • H
                Там русским языком написано: unsigned short hours и последующие сравнение >5 и
                Ответить
                • DmitrySPz
                  Вы сравниваете цифру 5 и 6, а скрипт Time Unix Hours > 5 и Hours < 6

                  Hours > 5 = Time Unix > 18000

                  Hours < 6 = Time Unix < 21600

                  Диапазон однако есть.
                  Ответить
                  • H
                    И я таки в очередной раз закину невод.

                    Hours описана не как u_time, а как unsigned short.

                    Целое число. Которое не может принимать значения между 5 и 6.
                    Ответить
                    • DmitrySPz
                      вы упустили Hours

                      не может принимать значения между Hours 5 и Hours 6.

                      между 18000 секунд текущих суток и 21600 секунд текущих суток.

                      hungrytest = Hours(уже не 00ч. хотя я считаю что это лишнее) && Hours > 5(>18000 секунд текущих суток) && Hours < 6(< 21600 секунд текущих суток) && Minutes > 0(больше 0 секунд текущего часа) && Minutes < 30(меньше 1800 секунд текущего часа );

                      Машина видит эту строчку так.
                      Ответить
                    • DmitrySPz
                      5 и 6 это в формате TimeToStr, понятного для человека.

                      для машины Hours это Time Unix
                      Ответить
                      • H
                        В каком месте там переменная типа TimeToStr?

                        Ну можно уже взять и посмотреть описание переменных?
                        Ответить
                        • DmitrySPz
                          я и говорю, чтобы было 5 и 6 нужно сначала форматнуть дату в TimeToStr, но в этом случае будет невозможно их сравнить.

                          Поэтому, всё обрабатывается без конвертации, обрабатывается в Time Unix.
                          Ответить
                          • H
                            В каком месте этого кода форматирование в TimeToStr?
                            Ответить
                            • DmitrySPz
                              Вот именно, что ни в каком, поэтому там не может быть 5 и 6
                              Ответить
                              • H
                                А что же там по твоему?

                                Хотя да, ты мне открыл глаза: я не подозревал что у нас в стране с программированием на столько все плохо.
                                Ответить
                                • DmitrySPz
                                  там дата в формате Unix

                                  ты тоже мне открыл глаза:

                                  Time Unix для тебя как море из анекдота:

                                  "папа а где море"
                                  Ответить
                                  • H
                                    пилять. где там дата в формате Unix, если в сравнении целочисленная константа, и переменная объявлена как целочисленная?
                                    Ответить
                                    • DmitrySPz
                                      TDateTime RightNow = Time(); // получаем время в Unix

                                      unsigned short Hours, Minutes,...

                                      RightNow.DecodeTime(&Hours

                                      Hours 5 = 18000

                                      Hours 6 = 21600
                                      Ответить
                                      • D
                                        Из Help'a:

                                        "Breaks a TDateTime value into hours, minutes, seconds, and milliseconds.

                                        DecodeTime breaks the object specified as the Time parameter into hours, minutes, seconds, and milliseconds.".

                                        И где тут написано, что DecodeTime(). В 5 часов вернет Hours значение 18000? Ясно же сказано, что вернёт 5.
                                        Ответить
                                    • DmitrySPz
                                      >где там дата в формате Unix

                                      DecodeTime
                                      Ответить
                                      • H
                                        А ты в курсе, что такое &Hours?
                                        Ответить
                                        • DmitrySPz
                                          я вижу, что вы не видите разницы

                                          в сравнении чисел и сравнении переменной времени
                                          Ответить
                                          • H
                                            Я вижу что в сравнении участвуют два целочисленных числа.
                                            Ответить
                                            • DmitrySPz
                                              >Я вижу что в сравнении участвуют два целочисленных числа.

                                              ===

                                              Ну вот, а там две даты, а не числа.
                                              Ответить
                                              • H
                                                Там короткое целое и константа. первое будет приведено к инту, второе уже инт. Никаких других приведений типов не будет.

                                                Но ты можешь это опровергнуть, написав кусок когда, в котором шорт и инт так преобразуются, что 18001 будет больше 5 и меньше 6.
                                                Ответить
                  • D
                    Ответить
                    • D
                      ddvadim 23 дек 15
                      Извиняюсь. Не ту ссылку вписал.
                      Ответить
                      • DmitrySPz
                        Вот, а теперь посмотрите оба что вы видите?

                        Я вижу string(Hours);

                        string(Hours) это 10, но это не значит что Hours = 10!

                        когда string(Hours) = 10 то Hours = 36000

                        (к сожалению не имею под рукой инструментов и не могу выложить код)

                        Пысы:

                        к этой пикче каммент:

                        Ответить
        • DmitrySPz
          вот например :

          if hour ==5 {

          будет выполняться не в 5:00, а до 6:00

          }
          Ответить
          • H
            в условии нет равно, неравенства строгие.
            Ответить
            • DmitrySPz
              Вам известно что такое Unix время?
              Ответить
              • H
                число секунд с начала эпохи.

                как правило, u_time является синонимом long, хотя это никто и не гарантирует.

                но какое это имеет отношение к конкретной переменной, которая объявлена как unsigned short и содержит не unixtime, а число часов, судя по всему с начала суток?
                Ответить
                • DmitrySPz
                  так обьявлено же unsigned short включает всё до милисекунд
                  Ответить
                  • H
                    И что? Это как-то позволяет unsigned short принмать значения между 5 и 6?
                    Ответить
                    • DmitrySPz
                      это значит:

                      дни включает в себя часы,минуты,секунды,миллисекунды

                      часы включают в себя минуты,секунды,миллисекунды

                      минуты включают в себя секунды,миллисекунды

                      секунды включают в себя миллисекунды.

                      ====

                      В этом разница работы с числами и временем.

                      Надеюсь я понятно объяснил.
                      Ответить
                      • H
                        Исчо раз. Как целое число может быть одновременно больше 5 и меньше 6?
                        Ответить
                        • DmitrySPz
                          18001 в unix формате больше 5 и меньше 6
                          Ответить
                          • H
                            unix-формат — это целое число. Оно не может быть больше 5 и меньше 6. Либо то, либо другое.

                            что такое 18001, кстати?
                            Ответить
                            • DmitrySPz
                              Time Unix 18001 > 5 Hours && < 6 Hours
                              Ответить
                              • H
                                $ cat b.c

                                #include

                                #include

                                int main()

                                {

                                time_t t = 18001;

                                if( t>5 && t
                                Ответить
                                • DmitrySPz
                                  вы опять сравниваете цифры, но не время в формате Time Unix
                                  Ответить
                                • DmitrySPz
                                  поскольку мы имеем дело с Time Unix

                                  то ваша строчка

                                  if( t>5 && t1450846800 && t
                                  Ответить
                                  • H
                                    > должна выглядеть так:

                                    Вот когда она будет выглядеть так, тогда и поговорим. А пока там ищется целое число между 5 и 6.
                                    Ответить
                                    • DmitrySPz
                                      Это вы видите там числа 5 и 6.

                                      Машина не вы и видит там целые числа равные текущему часу текущих суток :18000 и 21600

                                      и видит, в отличии от вас, что 18000 меньше чем 21600
                                      Ответить
                                      • H
                                        > Машина не вы и видит там целые числа равные

                                        "дядя Петя, ты дурак?".

                                        Там чистый код на Си.
                                        Ответить
                                        • DmitrySPz
                                          а ты?

                                          именно на Си -> Hours > 5 , это значит > 18000
                                          Ответить
                                          • H
                                            Схренали в контексте этого "скрипта" такое приведение типов?
                                            Ответить
                                            • DmitrySPz
                                              Потому что:

                                              TDateTime RightNow = Time();

                                              unsigned short Hours, Minutes, Seconds, Milliseconds;

                                              RightNow.DecodeTime(&Hours, &Minutes, &Seconds, &Milliseconds);
                                              Ответить
                                              • H
                                                > unsigned short Hours, Minutes, Seconds, Milliseconds;

                                                выделенное тебе ни о чем не говорит?
                                                Ответить
                                                • DmitrySPz
                                                  по твоему, 18000 не целое число .

                                                  папа а где море
                                                  Ответить
                                                  • H
                                                    по-моему, 18000 хотя и больше 5, но гарантированно меньше 6.
                                                    Ответить
                                                    • DmitrySPz
                                                      ты понимаешь, что сейчас 1450852774 времени ,

                                                      а не полдесятого ?
                                                      Ответить
                                                      • H
                                                        Я понима, что 1450852774 < 6 даст false, а не true.

                                                        более того, 1450852774 не может быть short int. Не уместится-с.
                                                        Ответить
                                                        • DmitrySPz
                                                          > Я понима, что 1450852774 < 6 даст false, а не true.

                                                          В общем то ситуация тупиковая.

                                                          Т.к. ты не владеешь сим предметом.

                                                          Последний раз:

                                                          Допустим время 5:15 (Unix 18900) это больше чем 5:00(Unix 18000) и меньше чем 6:00(21600)

                                                          Заметь, все числа целые.
                                                          Ответить
                                                          • H
                                                            во-первых там не время вообще, а часы. но хрен с ним, будем считать, что в часах хранятся секунды от начала суток. Хотя не трудно посмотреть что TDateTime это не unixtime, а DecoteTime возвращает целое ровное число часов, а не в секундах.

                                                            А во-вторых 5 в 18000 не приведется никак не зависимо от того, какой смысл имеют данные в переменной hours.

                                                            Либо жду код, где в сравнении будет >5 и
                                                            Ответить
                                                            • DmitrySPz
                                                              целое ровное число часов возвращает: string(Hours) (См. выше)

                                                              а Hours часы в Unix формате
                                                              Ответить
                                        • DmitrySPz
                                          естественно в контексте данного скрипта
                                          Ответить
                                • DmitrySPz
                                  1450846800 это сегодня 5:00

                                  1450848600 это сегодня 5:30
                                  Ответить
        • DmitrySPz
          редактировать нельзя :

          *С 5:00 до 6:00
          Ответить
        • DmitrySPz
          Забудь на время математику, узнай как обрабатывается время в си.
          Ответить
  • wipwiper
    22 дек 15
    Попил везде, попил вперде, а гарант в 3.14зде...
    Ответить
  • D
    22 дек 15
    Не всякий игиловец может доплыть до середины реки Москвы, даже с 5 до 5.30 утра.
    Ответить
  • fialent
    22 дек 15
    Г не тонет уже 15 лет
    Ответить
  • Rsa97
    22 дек 15
    Код нерабочий в принципе. Так как целое число не может одновременно быть больше пяти и меньше шести, то всегда будет вызываться random(100) и ни одного реального теста этот код не пройдёт.
    Ответить
    • CoolFace
      Rsa97 22 дек 15
      кстати да, но в этойц строке еще есть Minutes < 30
      Ответить
      • Rsa97
        CoolFace 22 дек 15
        А это уже без разницы, там логическое и (&&), истина будет только если все части условия истинны, а если час больше пяти, то он не может быть меньше шести и наоборот.

        Ну и если посмотреть код, выложенный на хабре, то видно, что этот рандом относится к цвету тревожной точки на экране, то есть вместо реального уровня тревожного сигнала с датчика будет отображён случайный уровень, но сама точка тревоги будет показана.
        Ответить
  • CoolFace
    22 дек 15
    Даже не догадывался, что по Москва-реке к правительству московской области могут диверсанты приплыть. Перерыв скорее оставили для отладки о чем говорит название "hungrutest". Что за язык? :)
    Ответить
  • scorp1969
    21 дек 15
    Бредятина
    Ответить
full image