1. Pascal / Говнокод #17941

    +128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    program st1r;
    uses crt;
    var
    st:string;
    n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,i:integer;
    begin
    clrscr;
    n0:=0; n1:=0; n2:=0; n3:=0; n4:=0;
    n5:=0; n6:=0; n7:=0; n8:=0; n9:=0;
    Write('Введите строку, состоящую из цифр: ');
    Readln (st);
    for i:=1 to length (st) do
    begin
    if Pos('0',st[i])<>0 then n0:=n0+1;
    if Pos('1',st[i])<>0 then n1:=n1+1;
    if Pos('2',st[i])<>0 then n2:=n2+1;
    if Pos('3',st[i])<>0 then n3:=n3+1;
    if Pos('4',st[i])<>0 then n4:=n4+1;
    if Pos('5',st[i])<>0 then n5:=n5+1;
    if Pos('6',st[i])<>0 then n6:=n6+1;
    if Pos('7',st[i])<>0 then n7:=n7+1;
    if Pos('8',st[i])<>0 then n8:=n8+1;
    if Pos('9',st[i])<>0 then n9:=n9+1;
    end;
    
    Writeln ('Количество вхождений в строку из цифр ',st);
    Writeln ('0: ',n0);
    Writeln ('1: ',n1);
    Writeln ('2: ',n2);
    Writeln ('3: ',n3);
    Writeln ('4: ',n4);
    Writeln ('5: ',n5);
    Writeln ('6: ',n6);
    Writeln ('7: ',n7);
    Writeln ('8: ',n8);
    Writeln ('9: ',n9);
    readln(st);
    end.

    студенту было дано задание: "Для каждой цифры '0', '1', ... '9' подсчитать количество их вхождений в строку S".

    Запостил: shipushek, 06 Апреля 2015

    Комментарии (72) RSS

    • показать все, что скрытоОпять препод, зарегавшийся только ради того, чтобы втихаря обосрать студента?
      Ну что ж, лет да срач бегинс.
      Лабы – ПХП.
      Ответить
    • показать все, что скрытопреподаватели студентов отступам не учат?
      Ответить
    • показать все, что скрытоНа мой взгляд - это не столько позор студенту, это позор препода, что у него студенты ТАК пишут. А потом удивляемся, откуда столько говнокодеров появляется.
      Ответить
      • показать все, что скрытоПрепод преподом, а мануалы читать надо
        Ответить
      • cleaned
        Ответить
        • показать все, что скрытоТы опять выходишь на связь?
          Ответить
          • cleaned
            Ответить
            • показать все, что скрытоНе мне судить о том, кто соснул. Есть те, кто получили вышку, а потом прошарились потому, что не ленились и были любознательными. Вузик – это тебе не детский сад, где тебе и попу подотрут, и в рот положат. Если ты лоботряс, то на выходе из универчика таким и останешся.
              Да и, вообще, ты чего весь полыхаешь-то? Ты ж типа не "рашкоблядь".
              Ответить
              • cleaned
                Ответить
                • показать все, что скрытоМог бы не объяснять. Продолжал бы травить свои смищные шутканы и дальше, чё уж там.

                  Во-первых, вышка нужна для того, чтобы в местах, где котируются корочки – можно было бы ткнуть этой корочкой в лицо эйчару (бюрократия, но щито поделать).
                  Во-вторых, изучение всяких хитрых и сперва непонятных вещей тренирует мозг (если он, конечно, есть). Стыдно признавать, но со второй задачей немного справляются даже гуманитарные вузы.
                  Итог: лучше какое-нибудь образование, чем никакого.

                  Позиция "Хочу прагать прагаммы. Гыыы)))", – это позиция школьника, который идёт учиться на ИТ специальность с мыслями "Ыыы. Вот буду я такой сидедь за кампом вкантакти, паграмировать эта крута. Ыть)))"; а потом он такой берёт и вылетает на первом же курсе.

                  Ничего так просто тебе не достанется, спустись на землю.
                  А то, что некоторые преподы говно – так это объясняется тем, что они были такими же говняными студентами. Почему же тогда они стали преподами, а не ты? Да потому, что их девиз по жизни: "Ёпта, бля!". Они в меру общительны, умеют дружить и входить в доверие окружающим, в отличие тебя, меня и ещё тонны офисного планктона, который тихо делает свою работу.
                  Образование тут ни при чём. У каждого есть свои достоинства и недостатки. К чему это я говорю: нефиг списывать последние ещё на кого-то, кроме себя, и героически рвать на себе зад.
                  Ответить
                  • cleaned
                    Ответить
                    • показать все, что скрытоА ты-то чего так напрягся? Ты ж не в рашке.
                      Ответить
                      • cleaned
                        Ответить
                        • показать все, что скрытоСлушай, а, может быть, ты и в самом деле тролль, а не придурковатый? Уж слишком ты традиционный, как я погляжу. Мне казалось, такие вымерли ещё года 2-3 назад, если не больше.
                          Ответить
                          • cleaned
                            Ответить
                            • показать все, что скрытоТы опять выходишь на связь, мудило? Сколько раз тебе, блядь, ну сколько раз тебе говорить, долбоёбина ты великовозрастная, блядь, ну что тебе, снять кеды, по ебальнику дать? Я с великим удовольствием, я тебе сказал, это сделаю. Hу неужели ты не понимаешь, что ты, сука, кругом под колпаком, и ты ещё вылазишь, а? Сучонок ебучий!
                              Ответить
                            • показать все, что скрыто>что, скажешь, рашка полностью перестала быть парашкой?
                              Ты чего так завис на рашке-то? Какое тебе вообще дело до страны, в которой ты не живёшь и люто презираешь?
                              В россии есть всякие проблемы, но позиция местных, в духе "А давайте все обосрёмся, чтобы все видели то, какая рашка говно!", – это не те, кто хотят что-то поменять в лучшую сторону, а то же быдло (в разрезе).
                              А от того, что кто-то со стороны кудахтает о том, что в этой стране что-то делается неправильно – ничего не изменится. Пока в огромном объёме будут существовать говноеды, солидарные с другими говноедами из-за бугра, нифига не понимающими, но уже визжащими "клятi москалi" (или, как в россии: "тупые пиндосы") – вообще ничего не поменяется. Не жди. Просто заткнись. По сути, тебя судьба "рашки" вообще волновать не должна.
                              Ответить
                              • cleaned
                                Ответить
                                • показать все, что скрытоможно, но про себя
                                  Ответить
                                • показать все, что скрыто>Но таких у вас чуть ли не большинство. Тупые, жирные пендосы. Бездуховные - это новое. Да им пизда скоро. Видали наши ракеты? Да мы их в радиоактивный пепел!
                                  У тебя, видать, совсем память короткая; или ты читаешь чем-то ещё, кроме глаз.
                                  Ты хоть чуть-чуть понимаешь вообще, к чему я об этом говорю?
                                  И в рашке, и в сэшеашке, и в украшке есть такие кукаретики-"врадиактивныйпепил". А с другой стороны океана (или границы), во "вражеской" стране, есть те, кто им охотно подкудахтывают, возомнив себя дохрена прогрессивными. Они готовы сами сгореть в радиактивном пепле, в надежде на то, что они смогут восстать как феникс, но уже в новой, чудесной стране мечты. Они срут под себя, лишь бы сказать: "Ха-ха, смотрите, тут гавно!". Ты один из таких наивных дурачков, неужели тебе непонятно?
                                  Ответить
                                  • cleaned
                                    Ответить
                                    • показать все, что скрыто>нормальных странах их слова не делают государственной идеологией
                                      В каких ещё нормальных странах? Адекватные люди невосприимчивы к пропаганде и думают своей головой, не оглядываясь ни на "ватников", ни на "вышиватников" и т.д.

                                      >Про украинцев аналог ватника еще не нарисовали (или тупо спиздили с ватника)
                                      Вот это аргумент! Ну охуеть просто: смищную картинку про них не нарисовали.
                                      Я не имею ничего против украинцев, и не обсираю весь народ в целом только потому, что он находится на территории украины, которой сейчас правят не самые спокойные чуваки. Даже наивные дурачки, вроде тебя, не виноваты в войне.
                                      А вот ты, как я погляжу, просто рвёшься лишний раз упомянуть о том, какие ватники все русские, и какое говно вообще всё русское.
                                      Ответить
                                • показать все, что скрытогосподи, да какой же ты тупой. просто заткнись, и ничего больше не пиши.
                                  Ответить
                  • показать все, что скрыто> "Хочу прагать прагаммы. Гыыы)))"
                    > "Ыыы. Вот буду я такой сидедь за кампом вкантакти, паграмировать эта крута. Ыть)))"
                    Лол, да это ж я лет десять назад :)
                    Ответить
            • показать все, что скрыто> мои главные претензии к СНГ-шному IT образованию

              Мне вот больше всего интересно, почему тебя это так волнует. Твои претензии лично мне вообще безынтересны.

              Меня вот в университете в целом учили, как освоить любой, даже самый заумный матан, за ограниченный кусок времени, а не как работать с конкретной технологией. Это позволило мне самостоятельно разбираться в любой технологии за пару недель при наличии литературы.
              Многие продвинутые software engineers, в том числе зарубежные, не имеют профильного образования (они математики, биологи, физики, лингвисты, электронщики). Немало таких работает, к примеру, в Google, или у нас в компании.
              Ответить
          • показать все, что скрытоДед ИВЦ, это ты?
            Ответить
    • А че хуйилка накручивает?
      Ответить
    • наверное достаточно было:
      Program st1r;
      Uses CRT;
      Var
        n:Array[Char]Of Byte;
        St:String;
        I:Byte;
        C:Char;
      Begin
        ClrScr;
        Write('Введите строку, состоящую из цифр: ');
        Readln(st);  
        If Length(St)<>0 Then
          For I:=1 To Length(S) Do Inc(n[St[i]]);
        Writeln ('Количество вхождений в строку из цифр ',st);
        For C:='0' To '9' Do WriteLn(C,': ',n[c]);
        ReadLn
      End.
      Ответить
      • Неплохо, но я найду, к чему придраться:
        1. Массив n не инициализирован и в общем случае может быть заполнен мусором.
        2. Зачем в конце программы нужен вызов Readln?
        Ответить
        • 2. Зачем в конце программы нужен вызов Readln?
          форточка закрывает терминал же.
          Ответить
          • А не надо консольные программы запускать через Рабочий стол. Если запускаешь из консоли, то ничего не закрывает.
            Ответить
            • А если сильно хочется то приходится readln или еще readkey
              можно было
              Ответить
              • Readkey — гадость. Если это досовский Турбо Паскаль, то оригинальный модуль Crt написан так неудобно, что после некоторых клавиш приходится делать второй вызов Readkey, иначе в буфере клавиатуры останется мусор, который потом грохнется, как скелет из шкафа. Кроме того, оригинальный Crt не ловит некоторые клавиши типа F11 и F12.

                На мой взгляд проще запускать программу из IDE TP (лабы обычно сдают как раз из него) или из Нортон Коммандера (или его клонов), чем собирать коллекцию граблей.
                Ответить
        • > Массив n не инициализирован
          В паскале разве не нулями забиваются все неициализированные переменные?
          Ответить
          • Вроде в документации писа́ли, что на это надеяться нельзя. Паскаль помещает const в инициализированный сегмент, а var может поместить в неинициализированный (который в экзешнике занимает ноль байт и создаётся во время загрузки программы).

            Надо собрать «испытательный стенд». Но в любом случае надеяться на то, что при старте во всех переменных нули — это UB.
            Ответить

    Добавить комментарий