1. Список говнокодов пользователя alexoy

    Всего: 41

  2. 1C / Говнокод #8247

    −154

    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
    case 2: //редактирование таблицы
    			do
    			{
    				for (i = 0; i < size; i++) //вывод таблицы, чтобы видно было, что нужно изменять
    				{
    					for (j = 0; j < 4; j++)
    					{
    						for (k = 0; k < 4; k++)
    						{
    							adres[k] = ((maska << (24 - 8 * k)) & bin_adres[i][j]) >> (24 - 8 * k);
    						}
    						cout << adres [0] << "." << adres [1] << "." << adres [2] << "." << adres [3] << "\t";
    					}
    					cout << endl;
    				}
    				cto ("Наберите необходимый адрес назначения" , s);
    				cout << s << endl;
    				for (j = 0; j < 4; j++)
    				{
    					cin >> adres [j];
    					if (adres[j] < 0 || adres[i] > 255) //проверка каждой введенной цифры на соответствие интервалу
    					{
    						cto ("Вы ввели неверное число. Введите число в диапазонe 0-255" , s);
    						cout << s << endl;
    						j--;
    					}
    					else
    						crv = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; 
    				}
    				for (i = 0; i < size; i++) //перебор по строкам всего массива
    				{
    					if (crv == bin_adres[i][0]) //сравниваем первый элемент каждой строки, с введенным значением
    					{
    						temp = i; //получаем номер строки, которую необходимо редактировать
    						break;
    					}
    				}
    				cto ("Что необходимо изменить?\n Адрес назначения (нажмите 1)\n Адрес источника (нажмите 2)\n Шлюз(Нажмите 3)\n Маску(нажмите 4)\n", s);
    				cout << s << endl;
    				number = 0;
    				cin >> number; //получаем номер столбца для изменения
    				number--; //для правильного определения индекса элемента в массиве
    				cto ("Введите элемент", s);
    				cout << s << endl;
    				for (i = 0; i < 4; i++)
    				{
    					cin >> adres[i];
    					if (adres[i] < 0 || adres[i] > 255)
    					{
    						cto ("Вы выпали из диапазона 0-255. Введите нормальное число", s);
    						cout << s << endl;
    						i--;
    					}
    				}
    				bin_adres[temp][number] = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; //записываем данный элемент в заданную строку
    				cto ("Для выхода из редактирования нажмите 1 (продолжить - любая цифра)", s);
    				cout << s << endl;
    				cin >> number;
    			}
    			while (number != 1);
    			system("cls"); //очиста окна командной строки
    			break;

    Команда стажеров писала маршрутизатор на базе 1С предприятия и вот что получилось.

    alexoy, 19 Октября 2011

    Комментарии (3)
  3. Assembler / Говнокод #8245

    +248

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Актуальна задача о двух стеках
    
    push esp1
    push esp2
    
    Требуется реализация забывчивого стека
    
    push 1 [1,2,3] -> [1,1,2]

    alexoy, 19 Октября 2011

    Комментарии (6)
  4. Pascal / Говнокод #8227

    +145

    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
    85. 85
    program gays;
    uses crt;
    var k,k1,kn,n,i,j:integer;
        a,c:array [1..100,1..100] of real;
        f,x,b,d:array [1..100] of real;
        r:real;
    begin
      repeat
      Write ('put poriadok n<100, n=');
      readln(n);
      until n<100;
      for i:=1 to n do
       begin
         for j:=1 to n do
          begin
            write('a [',i,';',j,']=');
            readln(a[i,j]);
            c[i,j]:=a[i,j];
          end;
         write('b [',i,']=');
         readln(b[i]);
         d[i]:=b[i];
       end;
     //3blok
      for k:=1 to (n-1) do
       begin
         //4 blok
         if a[k,k]=0 then
          begin
             k1:=k;
             repeat
              k1:=k1+1 ;
             until (a[k1,k]<>0) or (k1>n);
             if a[k1,k]=0 then
              begin
                writeln('Vedushii elementi ravni nuly');
                halt;
              end;
             kn:=k1;
             for j:=1 to n do
              begin
                r:=a[k,j];
                a[k,j]:=a[kn,j];
                a[kn,j]:=r;
              end;
              r:=b[k];
              b[k]:=b[kn];
              b[kn]:=r;
          end;
              //5 blok
         b[k]:=b[k]/a[k,k];
         for i:=(k+1) to n do
           b[i]:=b[i]-a[i,k]*b[k];
         for j:=(k+1) to n do
          begin
            a[k,j]:=a[k,j]/a[k,k];
            for i:=(k+1) to n do
              a[i,j]:=a[i,j]-a[i,k]*a[k,j];
          end;
       end;
      //end 3 blok
      x[n]:=b[n]/a[n,n];
      // 7 blok
    
      for i:=(n-1) downto 1 do
       begin
         for j:=i+1 to n do
           b[i]:=b[i]-x[j]*a[i,j] ;
         x[i]:=b[i];
       end;
    
       // 8 blok
       for i:=1 to n do
         if x[i]<0 then writeln ('nomer otricatelnogo kornia =',i);
       for j:=1 to n do writeln('x[',j,']=',x[j]:10:4);
       // 9 blok
       for i:=1 to n do
        begin
          f[i]:=-d[i];
          for j:=1 to n do
            f[i]:=f[i]+c[i,j]*x[j];
          writeln('F=',f[i]:10:4);
        end;
    readkey;
    end.

    Очередной высер стажера при написании учетного решения в 1С

    alexoy, 18 Октября 2011

    Комментарии (14)
  5. Pascal / Говнокод #8221

    +148

    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
    program analize_methods;
    uses dos,crt;
    const amax=10000;
    type ar=array [1..amax] of integer;
    ar3=array [1..3] of ar;
    var a:ar3;b:^ar3;
    time:array [1..2,1..3] of real;
    hour,min,sec,sec100:word;
    r,r1,r2:real;
    ns,i,k:integer;
    f:text;
    
    {ЊҐв®¤ б®авЁа®ўЄЁ vyborom)}
    procedure vybor(var m:ar);
    var i,j,x,p:integer;
    begin
    for i:=1 to amax-1 do
    begin
    p:=i;
    x:=m[i];
    for j:=i+1 to amax do
    if x>m[j] then
    begin
    p:=j;
    x:=m[j];
    end;
    m[p]:=m[i];
    m[i]:=x;
    end;
    end;
    
    { б®авЁа®ўЄ  ўбв ўЄ®© }
    procedure Inser(var item:ar; count:integer);
    var
    i,x,j: integer;
    begin
    for i := 2 to count do
    begin
    x := item[i];
    j := i-1;
    while (x<item[j]) and (j>0) do
    begin
    item[j+1] := item[j];
    j := j-1;
    end;
    item[j+1] := x;
    end;
    end;  { Є®­Ґж б®авЁа®ўЄЁ ўбв ўЄ®© }

    Это человек на собеседовании написал. Задача была - реализовать асинхронный ввод в 1С

    alexoy, 17 Октября 2011

    Комментарии (25)
  6. Ruby / Говнокод #8214

    −147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {if $oUserProfile->getProfileIcq()}
    	<strong>{$aLang.profile_social_contacts}</strong>
    	<ul>
    	{if $oUserProfile->getProfileIcq()}
    		<li class="icq"><a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
    	{/if}					
    	</ul>
    {/if}

    Smarty-шаблон. ActionProfile/sidebar.tpl (17-я строчка в скине "new") из LiveStreet.
    Озадачивают 1-я и 4-я строки. Типа: "А вдруг?!"

    alexoy, 17 Октября 2011

    Комментарии (5)
  7. PHP / Говнокод #8211

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_POST['name']!='') {
    	$name=post_check($_POST['name'],10);
    }else {
    	unset($_POST);
    	$_SESSION['error']='Не введено имя';
    	header("location: index.php?mode=registration");
    	exit;
    }

    Проверка данных. Ухахатывался

    alexoy, 17 Октября 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (!cpMenu->IsSelected())
    	{
    		std::vector<UINT> menus;
    		menus.push_back(_menuIndex.Value);	
    		if (!_SelectMenu(cpTarget, _instanceID.HasValue ? _instanceID.Value : -1, &menus[0], (UINT)menus.size(), SelectionType::Exclusive))
    			return CPNGObject();
    	}

    Не смог обойтись без вектора...

    alexoy, 16 Октября 2011

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

    +147

    1. 1
    if (embededDatasourceItem.Text.Localized(language) == string.Empty)

    Это вместо string.IsNullOrEmpty

    alexoy, 16 Октября 2011

    Комментарии (14)
  10. PHP / Говнокод #8206

    +147

    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
    <?php
    
    define ('SENGINES',serialize(
    		array(
    				'yandex',
    				'google',
    				// ... тут их еще несколько
    				)));
    
    class <засекречено> {
    
     	/**
    	 * engines
    	 *
    	 * @var array
    	 */
    	private $_engines = unserialize(SENGINES);
    
            // ...
    
    }

    alexoy, 16 Октября 2011

    Комментарии (9)
  11. 1C / Говнокод #8200

    −155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Девушкой, которую я любил
    Оказался педофил
    Он на 1С все показал
    И научил
    Теперь я здесь настраиваю все
    Прямо как во сне

    Александр Сергеевич Пушкин-Блок

    alexoy, 14 Октября 2011

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