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

    +78

    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
    DynArray = [1..2] of real;
    var
    A : ^DinArray;
    n, i : word;
    BEGIN
    write('Укажите размер массива:');
    readln(n);
    GetMem(A,n*6);
    . . .
    {$R-}
    for i:=1 to n do
    A[i]:=random;
    . . . {любые действия с элементами масссива}
    {$R+}
    FreeMem(A,n*6)
    END.

    Просто феерический говнокод на "Pascal".
    http://logi.cc/dinamicheskaya-pamyat-primer-23/

    Запостил: gost, 31 Марта 2014

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

    • - вместо 6 должно быть sizeof(real)
      - во freemem второго параметра не надо.
      ну и вместо 1..2 посоны пишут 1..1 (для понтов) или 1..MAXINT div sizeof(real) чтобы не выключать проверку индексов, но это уже придирка.
      Ответить
      • Ну что-за изврат ты ему советуешь? В делфи (и вроде бы fpc) же есть динамические массивы:
        a : array of real;
        ...
        SetLength(a, n);
        for i := 1 to n do
            A[i] := Random();
        Ответить
        • В дельфи да, правда для этого метода остается применение в составе структур.
          Но данный код написан на турбопаскале (да, я перешел по ссылке чтобы проверить).
          Ответить

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