1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #3195

    +115

    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
    #include "iostream"
    
    using namespace std;
    
    int main()
    {
    	cout << "Vvedite storonu a:";
    	int a;
    	cin >> a;
    	cout << "Vvedite storonu b:";
    	int b;
    	cin >> b;
    	cout << "Vvedite storonu c:";
    	int c;
    	cin >> c;
    	int g=1;
    	while(g=1){
    		if(a==0||b==0||c==0){ cout << "Ne treugolnik";
    		break;}
    		if(a<=b+c || c<=a+b || b<=a+c){ cout << "Daaa!!! Treugolnik";}
    		break;}
    	return 0;
    }

    Вот как мы узнаем, треугольник ли это по сторонам.

    hromjo, 11 Мая 2010

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

    +114.3

    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
    public static MapObjectConfig[] CollectInfoAboutClassesInProgram()
    	{
    		List<MapObjectConfig> result = new List<MapObjectConfig>();
    		foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies())
    			foreach (Module module in assem.GetModules())
    				try
    				{
    					foreach (Type type in module.GetTypes())
    						if (type.IsSubclassOf(typeof(BaseMapObject)))
    						{
    							MethodInfo method = type.GetMethod("GetCommentDescription", BindingFlags.Static | BindingFlags.Public);
    							if (method != null)
    							{
    								object res = method.Invoke(null, null);
    								if (res is MapObjectConfig)
    								{
    									MapObjectConfig desc = (MapObjectConfig)res;
    									result.Add(desc);
    								}
    							}
    						}
    				}
    				catch (ReflectionTypeLoadException ex)
    				{
    					//иногда отказывается загружать типы...
    				}
    		return result.ToArray();
    	}

    Метод являет собой пожалуй самую проктологическую реализацию хранения дефолтных настроек, которую когда-либо видел. Просмотр всех сборок загруженых в домен приложения, поиск в них классов наследованных от BaseMapObject и вызов их метода GetCommentDescription, который и вернет объект с настройками... Нельзя обезьянам давать гранаты товарищи.

    svist, 27 Февраля 2010

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

    +114.3

    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
    static void JoinFiles(string FileOne, string FileTwo, string Out)
    		{
    			//declare head size
    			const long HeadSize = sizeof(long) * 4;
    			//get files size
    			long FFS = (new FileInfo(FileOne).Length),
    				  SFS = (new FileInfo(FileTwo).Length);
    			//Full paths of files
    			string FFFN = Path.GetFileName(Path.GetFullPath(FileOne)),
    					 SFFN = Path.GetFileName(Path.GetFullPath(FileTwo));
    			//calculate offsets
    			long FirstFileOffset = HeadSize + FFFN.Length,
    				  FirstFileNameOffset = HeadSize,
    				  SecondFileNameOffset = FirstFileOffset + FFS,
    				  SecondFileOffset = SecondFileNameOffset + SFFN.Length;
    			//declare head
    			byte[] Head = new byte[HeadSize];
    			/*	
    			 *		FFO	FFNO			SFO	SFNO
    			 */
    			//Format head
    			Head = JoinArrays<byte>(BitConverter.GetBytes(FirstFileOffset),
    										 BitConverter.GetBytes(FirstFileNameOffset),
    										 BitConverter.GetBytes(SecondFileOffset),
    										 BitConverter.GetBytes(SecondFileNameOffset));
    			//declare streams
    			System.IO.BinaryReader FBR = new BinaryReader(File.OpenRead(FileOne));
    			System.IO.BinaryWriter BW = new System.IO.BinaryWriter(File.Create(Out));
    			//Write head information
    			foreach (byte b in Head) BW.Write(b);
    			//Write first file name
    			byte[] buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(FFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Write first file
    			for (long id = 0; id < FFS; id++) BW.Write(FBR.ReadByte());
    			//Write second file name
    			buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(SFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Open second file
    			FBR.Close();
    			FBR = new BinaryReader(File.OpenRead(FileTwo));
    			//Write second file
    			for (long id = 0; id < SFS; id++) BW.Write(FBR.ReadByte());
    			//Save result
    			BW.Flush();
    			//Close streams
    			FBR.Close();
    			BW.Close();
    		}

    Функция склеивания двух файлов. Писал вчера вечером, когда утром посмотрел, я понял что писал я это очень поздно.

    psina-from-ua, 21 Февраля 2010

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

    +114.2

    1. 1
    userInfoStr = string.Format("{0}", FIO

    synapse, 23 Марта 2010

    Комментарии (5)
  6. Assembler / Говнокод #17545

    +114

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    CFG ; start: scasb
    DCG ; salc
    AEEAFF ; and al,'\'-'/'
    AAEAFO ; add al,'/'
    DBFAFB ; int 29h
    DFDDGG ; jmp start

    Генератор лабиринта на Wct.

    Mihip, 29 Января 2015

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

    +114

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Validate that numrical values exist for either Children or Adults and that either/or have a value of 1 or more
    if (is_numric($_SESSION['f_adults']) and $_SESSION['f_adults'] >0 or is_numric($_SESSION['f_children']) and $_SESSION['f_children'] >0) {
    $_SESSION['valid_amount'] = true;
    } else {
    $_SESSION['valid_amount'] = false;
    }

    Случайно нашёл. Без комментариев.
    пруфлинк: http://www.dreamincode.net/forums/topic/172078-is-numeric-problem/

    Dg_INC, 13 Октября 2013

    Комментарии (1)
  8. Java / Говнокод #13808

    +114

    1. 1
    Ranges.closedOpen(0, list.size()).asSet(DiscreteDomains.integers())

    Самый простой известный мне способ сделать аналог питоновского range(len(list)). Даже с Guava.

    someone, 18 Сентября 2013

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

    +114

    1. 1
    2. 2
    3. 3
    //request.IsSecureConnection и TargetHttps - булевы переменные
    
    if (!(request.IsSecureConnection ^ TargetHttps))

    вместо if (request.IsSecureConnection == TargetHttps)

    mozg_raka, 31 Июля 2013

    Комментарии (72)
  10. Си / Говнокод #13126

    +114

    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
    #include <stdio.h>
         
        int main() {
            int i=5;
            switch ( 2 ) {
                case 0:
                    for (  i=0; i<10; i++ ) {
                case 1:
                    printf("A i=%d\n",i);
                case 2:
                    printf("B i*i=%d\n",i*i);
                    };
                case 3:
                    printf("done");
                    break;
            }
         
            return 0;
        }
         
        /* OUTPUT
        B i*i=25
        A i=6
        B i*i=36
        A i=7
        B i*i=49
        A i=8
        B i*i=64
        A i=9
        B i*i=81
        done
        */

    http://pastebin.com/EY3WQNzC - казехак.

    serpinski, 06 Июня 2013

    Комментарии (18)
  11. Java / Говнокод #13102

    +114

    1. 1
    switch (Strings.nullToEmpty(value)) { ... }

    Жабовский string switch не умеет в null. Приходится так.

    someone, 04 Июня 2013

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