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

    +100

    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
    var s: string;
        res: string; 
    begin
      readln(s);
      res := 'Слишком большая строка';
      if length(s) = 0 then res := s;
      if length(s) = 1 then res := s;
      if length(s) = 2 then res := s;
      if length(s) = 3 then res := s;
      if length(s) = 4 then res := s[0] + ' ' + s[1] + s[2] + s[3];
      if length(s) = 5 then res := s[0] + s[1] +' ' + s[2] + s[3] + s[4];
      if length(s) = 6 then res := s[0] + s[1] + s[2] +' ' + s[3] + s[4] + s[5];
      if length(s) = 7 then res := s[0] + ' ' + s[1] + s[2] + s[3] +' ' + s[4] + s[5] + s[6];
      if length(s) = 8 then res := s[0] + s[1] + ' ' + s[2] + s[3] + s[4] +' ' + s[5] + s[6] + s[7];
      if length(s) = 9 then res := s[0] + s[1] + s[2] + ' ' + s[3] + s[4] + s[5] +' ' + s[6] + s[7] + s[8];
      writeln(res);
    end.

    Код масштабируемый - сейчас он обрабатывает строки, в которые можно записать от нуля до девяти символов, но его прозрачно можно смасштабировать до обработки хоть 20, хоть 50 символов.
    Кроме того, тут не используются платформозависимые API.

    Запостил: Govnocoder#0xFF, 22 Ноября 2011

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

    • Пасцал
      Ответить
    • хочется верить в то, что компилятор сможет хоть как то оптимизировать это говно... А впрочем, тщетно все это.
      Ответить
      • Вобщето то, что там наворочено формально и есть оптимизация. Цикл будет работать дольше (думаю процентов 30 рантайма придется на обработку счетчика цикла и проверки).
        Ответить
        • [color=green>процентов 30 рантайма[/color]
          Лол, вы это на пальцах прикинули что-ли?
          Ответить
    • Пацталом.
      Ответить
    • Я правильно понимаю, что это навороченная библиотека для отображения телефонных номеров?

      > Код масштабируемый

      feature request: добавить (теми же if-и без else) поддержку, скажем, бонжурского (по 2 цифры разделенные точкой).
      Ответить
    • УГ.
      -1
      Ответить
    • УЖАСНАЯ ТРАГЕДИЯ ждет Россию через 16 дней? Только 4 знака зодиака ВЫЖИВУТ в этот день!
      Ответить
    • Я вижу белку с длинным хвостиком.
      Ответить
    • setlength(res,length(s)+(length(s)-1) div 3);
      PCardinal(@res[1])^:=PCardinal(@s[1])^;
      i:=(((length(s) mod 3)+2)mod 3)+2;
      j:=i;
      while i<length(s) do
      begin
          PCardinal(@res[j])^:=PCardinal(@s[i])^ shl 8+ord('-');
          inc(i,3);
          inc(j,4);
      end;
      writeln(res);
      Ответить
    • показать все, что скрытоvanished
      Ответить

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