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

    Всего: 14

  2. C# / Говнокод #17470

    +91

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private static int NumberOfLeadingSpaces(string str)
    {
        str = str.TrimEnd();
        return str.Length - str.Trim().Length;
    }

    Из моего проекта. Так я писал код 1.5 год назад.
    Вместо того, чтобы пройтись циклом с начала строки, пока не встретиться символ, не являющийся пробелом.

    Janycz, 18 Января 2015

    Комментарии (44)
  3. C# / Говнокод #17469

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static string ExeDirectory
    {
        get
        {
            var strBuff1 = System.Windows.Forms.Application.ExecutablePath;
            var strBuff2 = Path.GetFileName(strBuff1);
            return strBuff1.Remove(strBuff1.Length - strBuff2.Length, strBuff2.Length);
        }
    }

    Из моего проекта. Так я писал код 1.5 год назад.

    Janycz, 18 Января 2015

    Комментарии (0)
  4. C# / Говнокод #17468

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var hContextMenu = (ContextMenu)MainDataGrid.Resources["CellContextMenu"];
    //UndoMenuItem.CommandTarget = MainDataGrid;
    UndoMenuItem.Command = ((MenuItem)hContextMenu.Items[0]).Command; //Undo
    //RedoMenuItem.CommandTarget = MainDataGrid;
    RedoMenuItem.Command = ((MenuItem)hContextMenu.Items[1]).Command; //Redo
    //CutMenuItem.CommandTarget = MainDataGrid;
    CutMenuItem.Command = ((MenuItem)hContextMenu.Items[3]).Command; //Cut
    //CopyMenuItem.CommandTarget = MainDataGrid;
    CopyMenuItem.Command = ((MenuItem)hContextMenu.Items[4]).Command; //Copy
    //PasteMenuItem.CommandTarget = MainDataGrid;
    PasteMenuItem.Command = ((MenuItem)hContextMenu.Items[5]).Command; //Paste

    Из моего проекта. Так я писал код год назад.

    Janycz, 18 Января 2015

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

    +58

    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
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #include <fstream>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    typedef unsigned int uint;
    std::string sMsg;
    
    int GetShift()
    {
    	int iResult = 0;
    	for(uint i = 0; i < sMsg.size(); i++)
    	{
    		if(!isalpha(sMsg[i])) continue;
    		
    		if(isupper(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('A');
    			break;
    		}
    		else if(islower(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('a');
    			break;
    		}
    	}
    	return iResult;
    }
    
    int Pos(const char* _Str, char _Ch)
    {
    	int i = 0;
    	while(*_Str)
    	{
    		if(*_Str == _Ch)
    		{
    			return i;
    		}
    		_Str++;
    		i++;
    	}
    	return -1;
    }
    
    int main()
    {
    	std::ifstream fin("input.txt");
    	std::ofstream fout("output.txt");
    	
    	std::getline(fin, sMsg);
    	
    	int iShift = GetShift();
    	if(iShift == 0)
    	{
    		fout << sMsg;
    	}
    	else
    	{
    		char* szOriginal = (char*)malloc(100);
    		strcpy(szOriginal, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		char* szShift = (char*)malloc(100);
    		strcpy(szShift, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		szShift += iShift;
    		
    		char* szOriginalL = (char*)malloc(100);
    		strcpy(szOriginalL, "abcdefghijklmnopqrstuvwxyz");
    		char* szShiftL = (char*)malloc(100);
    		strcpy(szShiftL, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
    		szShiftL += iShift;
    		
    		for(int i = 0; i < sMsg.size(); i++)
    		{
    			if(!isalpha(sMsg[i]))	
    				fout << sMsg[i];
    			else
    			{
    				if(isupper(sMsg[i]))
    				{
    					int iPos = Pos(szShift, sMsg[i]);
    					fout << *(szOriginal + iPos);
    				}
    				else if(islower(sMsg[i]))
    				{
    					
    					int iPos = Pos(szShiftL, sMsg[i]);
    					fout << *(szOriginalL + iPos);
    				}
    			}
    		}
    		
    		free(szOriginal);
    		free(szShift);
    		free(szOriginalL);
    		free(szShiftL);
    	}
    	
    	fin.close();
    	fout.close();
    	return 0;
    }

    В рамках подготовки к прошедшей областной олимпиаде по информатике среди школьников Минской области решал задачи. Данный говнокод решение задачи про шифр цезаря (данная задача была на областной олимпиаде в 2013 - 2014 учебном году).
    Задача: расшифровать строку, которая зашифрована шифром Цезаря, так, чтобы полученная расшифровка была минимальна лексикографически.
    Зашифрованная строка находится в файле input.txt, результат надо было вывести output.txt

    Janycz, 16 Января 2015

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