1. bash / Говнокод #2842

    −139

    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
    #!/bin/bash
    
      upSeconds=`cat /proc/uptime`;
      upSeconds=${upSeconds%%.*};
      let secs=$((${upSeconds}%60))
      let mins=$((${upSeconds}/60%60))
      let hours=$((${upSeconds}/3600%24))
      let days=$((${upSeconds}/86400))
      echo -n 'Время работы: '
      if [ "${days}" -ne "0" ]
      then
       echo -n "${days} дней"
      fi
      echo -n "${hours} часов ${mins} минут"

    Кавайненько показываем uptime компьютера вместо унылого вывода $uptime *_*

    snoopcatt, 22 Марта 2010

    Комментарии (8)
  2. Pascal / Говнокод #2841

    +104.4

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    procedure TForm1.vibor_chiselClick(Sender: TObject);
    begin
    case vibor_chisel.ItemIndex of
       0: begin
          procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(massiv,n);
            for i:=0 to n-1 do
            massiv[i]:=strtoint(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sortpuzirek(n,massiv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=inttostr(massiv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
       1: begin
           procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(mas_siv,n);
            for i:=0 to n-1 do
            mas_siv[i]:=strtofloat(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sort_puzirek(n,mas_siv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=floattostr(mas_siv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
          end;
      end;
    end;

    Орали всей группой. А вы часто описываете процедуры в case of ?)
    PS
    Работает.)

    Grivus, 22 Марта 2010

    Комментарии (32)
  3. PHP / Говнокод #2840

    +170.2

    1. 1
    if(!($var==false))

    насколько это говнокод?=)

    nur, 22 Марта 2010

    Комментарии (12)
  4. ActionScript / Говнокод #2839

    −88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (_root["currKeyState"] == 3 and _root["currKeyStateCaps"] == "off") {
    			_root["currKeyState"] = 1;
    			if ("titleNewRec" == _root["currentInput"] or "msgText" == _root["currentInput"] or "prvSearchStr" == _root["currentInput"] or "mdengiId" == _root["currentInput"] or "fio" == _root["currentInput"] or "alfabplace" == _root["currentInput"] or "commut" == _root["currentInput"]) {
    			} else {
    			}
    		} else if (_root["currKeyState"] == 4 and _root["currKeyStateCaps"] == "off") {
    			_root["currKeyState"] = 2;
    			if ("titleNewRec" == _root["currentInput"] or "msgText" == _root["currentInput"] or "prvSearchStr" == _root["currentInput"] or "mdengiId" == _root["currentInput"] or "fio" == _root["currentInput"] or "alfabplace" == _root["currentInput"] or "commut" == _root["currentInput"]) {
    			} else {
    			}
    		}

    Хотел посмотреть, как реализована логика в старом коде и нашел вот это...

    -=Deus=-, 22 Марта 2010

    Комментарии (2)
  5. C# / Говнокод #2838

    +103.4

    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
    using System;
    
    namespace Laba2
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			
    			int max, a ;
    			string c;
    			Random rnd=new Random();
    			Console.WriteLine("Количество элементов в массиве");
    			c=Console.ReadLine();
    			a=Convert.ToInt32(c);
    			int[] nums = new int[a];
    			for (int i=0; i<a; i++)
    			{nums [i]= rnd.Next(-100,99);}
    			Console.Write("Массив   ");
    			foreach (int i in nums)
    			Console.Write(i + " "); Console.WriteLine();
    			max=nums[0];
    			foreach (int i in nums)
    			{a=1;    if (max<a) max=a;}
    			Console.WriteLine(max);
    			Console.Read();
    
    
    		}
    	}
    }

    Оставлено оригинальное оформление кода. Особое внимание заслуживает куча лишних переменных и циклов....

    ZiS, 22 Марта 2010

    Комментарии (20)
  6. bash / Говнокод #2837

    −136.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    FREEKB=$[$(sed -n 2p /proc/meminfo  |  awk '{ print $2 }')+$(sed -n 3p /proc/meminfo  |  awk '{ print $2 }')+$(sed -n 4p /proc/meminfo  |  awk '{ print $2 }') ]
    USEDKB=$[$(head -n 1 /proc/meminfo | awk '{ print $2 }')-$FREEKB ]
     
    echo "Свободно: $[$FREEKB/1024] Мегабайт ($FREEKB килобайт)"
    echo "Занято: $[$USEDKB/1024] Мегабайт ($USEDKB килобайт)"

    Получение свободной и использованной оперативной памяти (;

    snoopcatt, 22 Марта 2010

    Комментарии (8)
  7. C++ / Говнокод #2836

    +63.6

    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
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST FLOAT *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        x = pf[0];
        y = pf[1];
    }
    
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST D3DXFLOAT16 *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        D3DXFloat16To32Array(&x, pf, 2);
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator == ( CONST D3DXVECTOR3& v ) const
    {
        return x == v.x && y == v.y && z == v.z;
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator != ( CONST D3DXVECTOR3& v ) const
    {
        return x != v.x || y != v.y || z != v.z;
    }

    Во-первых, классный "режим отладки". Если D3DX_DEBUG определён, то при нулевом указателе pf происходит тихий возврат. Совершенно, так сказать, по-английски. А вот анализ второй функции показывает, что данный исходник вообще не получится собрать с D3DX_DEBUG. Наглядная иллюстрация вреда тупого копипаста. Определения операторов == и != демонстрируют, как не надо сравнивать вещественные числа.
    Кто же автор этого безобразия? Имя не известно, зато известно место работы. Ибо этот "код" полностью представлен в файле d3dx9math.inl от компании Microsoft.

    whiskey, 22 Марта 2010

    Комментарии (20)
  8. PHP / Говнокод #2835

    +143.8

    1. 1
    foreach($this->arFileds as $v=>$k)

    rednaxi, 22 Марта 2010

    Комментарии (5)
  9. Куча / Говнокод #2834

    +144.4

    1. 1
    array...

    Забавно перепутаны картинки и соответствующие им пакеты телевидения: кино, спорт, увлечения.
    На пакете телевидения "кино" изображена девушка спортсменка (видимо плавчиха).
    На пакете телевидения "спорт" изображен кулинар.
    На пакете телевидения "увлечения" изображен лев, который может съесть.
    )
    Источник: akado.tv

    Kraut, 21 Марта 2010

    Комментарии (4)
  10. Куча / Говнокод #2833

    +144.6

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    program stroki;
    
    uses
      crt;
    
    var
      S, ns: string[80];
      t, f, f1, kc, ks, d, i: byte;
    
    const
      n = '1234567890';
      a = 'abcdefghijklmnopqrstuvwxyz';
    
    begin
      kc := 0;
      ks := 0;
      
      clrscr;
      read(S);
      d := length(S);
      for i := 1 to d do
     begin
        t := pos(S[i], n);
        if t > 0 then
        begin
          ns := ns + S[i];
          f := 1;
        end
        else 
        begin
          if f = 1 then
            kc := kc + 1;
          f := 0;
          delete(ns, 1, length(ns));
        end
        end;
     
      
      f := 0;
      delete(ns, 1, length(ns));
      for i := 1 to d do
      begin
        t := pos(S[i], a);
        if t > 0 then
        begin
          ns := ns + S[i];
          f := 1;
        end
        else
        begin
          if f = 1 then
            ks := ks + 1;
          f := 0;
          delete(ns, 1, length(ns));
        end
      end;
      if (kc = 0) and (ks = 0) then
      begin
        clrscr;
        write('no symbols and digets');
        readkey;
      end; 
      if kc > ks then
      begin
        clrscr;
        write('a lot of digets');
        readkey;  
      end
      else
      begin
        clrscr;
        write('a lot of symbols');
        readkey;
      end;
      if kc = ks then
      begin
        clrscr;
        write('они равны');
        readkey;
      end
      
      
      
    end.

    Funkie444, 21 Марта 2010

    Комментарии (6)