1. C++ / Говнокод #10239

    +8

    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
    #include <stdio.h>
    #include <string>
    int main()
    {
    	freopen("input.txt","r",stdin);
            freopen("output.txt","w",stdout);
    	char s[100];
    	int n1 = 0,eq = 0,i = 0,o = 0,e = 0;
    	scanf("%s",&s);
    	int len;
    	len = strlen(s);
    	for(i = 0; i <= len; i++)
    	{
    		if ((s[i] == '+') || (s[i] == '-') || (s[i] == '/') || (s[i] == '*')) 
    		{
    			if (s[i-1] != '=')
    			{
    				n1 = i;
    				o = 1;
    			}
    				
    			
    			if ((n1 == '-') && (s[i-1] == '+') || (s[i-1] == '-') || (s[i-1] == '/') || (s[i-1] == '*'))
    			{
    				n1--;
    				o = 1;
    			}
    
    			
    		}
    		if (s[i] == '=')
    		{
    			eq = i;
    			e++;
    		}
    	}
    
    	if ((eq == 0) || (n1 == 0) || (e != 1) || (o != 1))
    	{
    		printf("ERROR");
    		return 0;
    	}
    	char* err ;
    	//begin copy-paste :(
    	char s1[100] = "0";
    	for(i = 0; i < n1; i++)
    	{
    		s1[i] = s[i];
    	}
    	long l1 = strtol(s1, &err, 10);
    	if (*err) 
    	{
    		printf("ERROR");
    		return 0;
    	}
    	//еще 10-15 строк
    	//end copy-paste :(
    	//begin new copy-paste :((
    	if (s[n1] == '+')
    	{
    		if (l1 + l2 == l3)
    		{
    			printf("YES");
    		} else 
    		{
    			printf("NO");
    		}
    	}
    	if (s[n1] == '/')
    	{
    		if (l2 != 0) 
    		{
    			if((l1 / l2 == l3) && (l1 % l2 == 0))
    			{
    				printf("YES");
    			} else 
    			{
    				printf("NO");
    			}
    		} else
    		{
    			printf("NO");
    		}
    
    
    	}
    	//Еще 10-15 строк
    	//end new copy-paste :((
    
    	
    	return 0;
    }

    А всего-то надо проверить верно ли тождество. (Тождество очень простое и состоит из числа, операции («+», «-», «*», «/»), числа, знака равенства и числа)

    bars66, 10 Мая 2012

    Комментарии (7)
  2. Java / Говнокод #10238

    +79

    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
    import java.util.*;
    
    class Euler32 {
        public static void main(String[] args) {
    	int total=0;
    
    	LinkedList<Integer> remDigits=new LinkedList<Integer>();
    	for(int n=1;n<=9;n++)
    		remDigits.add(new Integer(n));
    	
    	for(int n9=2;n9<9;n9++){ //starting digit can't be 1 or 2
    	  int thouC=(remDigits.get(n9)).intValue();
    	  remDigits.remove(n9);
    	  for(int n8=0;n8<8;n8++){
    	    int hundC=(remDigits.get(n8)).intValue();
    	    remDigits.remove(n8);
    	    for(int n7=0;n7<7;n7++){
    	      int tenC=(remDigits.get(n7)).intValue();
    	      remDigits.remove(n7);
    	      for(int n6=0;n6<6;n6++){
    		int oneC=(remDigits.get(n6)).intValue();
    		remDigits.remove(n6);
    
    		int c=1000*thouC+100*hundC+10*tenC+oneC;
    		boolean found=false;
    		int n5=0;
    		while((n5<5)&&(found==false)){
    		    int ab1=(remDigits.get(n5)).intValue();
    		    remDigits.remove(n5);
    		    int n4=0;
    		    while((n4<4)&&(found==false)){
    		      int ab2=(remDigits.get(n4)).intValue();
    		      remDigits.remove(n4);
    		      int n3=0;
    		      while((n3<3)&&(found==false)){
    			int ab3=(remDigits.get(n3)).intValue();
    		      	remDigits.remove(n3);
    		      	int n2=0;
    			while((n2<2)&&(found==false)){
    			  int ab4=(remDigits.get(n2)).intValue();
    			  remDigits.remove(n2);
    			  int ab5=(remDigits.get(0)).intValue();
    
    			  int a3=100*ab1+10*ab2+ab3;
    			  int a4=1000*ab1+100*ab2+10*ab3+ab4;
    			  int b2=10*ab4+ab5;
    			  int b1=ab5;
    
    			  if((a3*b2)==c){
    			    found=true;
    			    total+=c;
    			    System.out.println(c+" = "+a3+"x"+b2); 
    			    }
    			  else if((a4*b1)==c){
    			   found=true;
    			   total+=c;
    			   System.out.println(c+" = "+a4+"x"+b1); 
    			   }
    
    			  remDigits.add(n2,new Integer(ab4));
    			  n2++;
    			  }
    			remDigits.add(n3,new Integer(ab3));
    		      	n3++;
    			}
    		      remDigits.add(n4,new Integer(ab2));
    		      n4++;
    		      }
    		    remDigits.add(n5,new Integer(ab1));
    		    n5++;
    		    }
    
    		remDigits.add(n6,new Integer(oneC));
    		}
    	      remDigits.add(n7,new Integer(tenC));
    	      }
    	    remDigits.add(n8,new Integer(hundC));
    	    }
    	  remDigits.add(n9,new Integer(thouC));
    	  }
    	System.out.println(total);	
        }
    }

    http://projecteuler.net/problem=32
    http://projecteuler.net/thread=32;page=2


    >My code is absolutely hideous, but it works and it's fast.

    Извиняюсь за длинный пост, но это просто шедевр, я не мог это не запостить!

    TheHamstertamer, 10 Мая 2012

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    template<class TValueChanger1, class TValueChanger2, class TValueChanger3>
    	NContour::NPrimitives::PArc ChangePrimitive(NContour::NPrimitives::PArc Arc, const TValueChanger1& ValueChanger1, const TValueChanger2& ValueChanger2, const TValueChanger3& ValueChanger3)
    	{
    		return
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger3(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger2(
    		boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger1(
    		Arc
    		))
    		))
    		));
    	}

    Говногость, 10 Мая 2012

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

    +92

    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
    private IPAddress GetAGateway(string Network)
    {
    	if(Network.StartsWith("PitNet"))
    	{
    		string IPs = Network.Split(new char[] {'|'})[1];
    		string[] IPPoints = IPs.Split(new char[] {'.'});
    		string[] PitNetIP = {"10.10.40", "10.10.50", "10.10.67",
    				     "10.10.100", "10.10.108", "10.10.109", 
    				     "10.10.110", "10.10.150", "10.10.160", 
    				     "10.10.200", "10.10.210", "10.10.220", "10.10.250"};
    		string IPAddresss = null;
    		if(IP.ToString().StartsWith(PitNetIP[0])) IPAddresss = "10.10.40.1";
    		if(IP.ToString().StartsWith(PitNetIP[1])) IPAddresss = "10.10.50.1";
    		if(IP.ToString().StartsWith(PitNetIP[2])) IPAddresss = "10.10.67.1";
    		if(IP.ToString().StartsWith(PitNetIP[4])) IPAddresss = "10.10.100.4";
    		if(IP.ToString().StartsWith(PitNetIP[5])) IPAddresss = "10.10.108.1";
    		if(IP.ToString().StartsWith(PitNetIP[6])) IPAddresss = "10.10.109.1";
    		if(IP.ToString().StartsWith(PitNetIP[7])) IPAddresss = "10.10.110.4";
    		if(IP.ToString().StartsWith(PitNetIP[8])) IPAddresss = "10.10.150.1";
    		if(IP.ToString().StartsWith(PitNetIP[9])) IPAddresss = "10.10.160.1";
    		if(IP.ToString().StartsWith(PitNetIP[10])) IPAddresss = "10.10.200.3";
    		if(IP.ToString().StartsWith(PitNetIP[11])) IPAddresss = "10.10.210.1";
    		if(IP.ToString().StartsWith(PitNetIP[12])) IPAddresss = "10.10.220.1";
    		if(IP.ToString().StartsWith(PitNetIP[13])) IPAddresss = "10.10.250.1";
    		IPAddress GatewayIP = IPAddress.Parse(IPAddresss);
    		return GatewayIP;
    	}
    	if(Network.StartsWith("StarNet"))
    	{
    		//говно говно говно
    	}
    	if(Network.StartsWith("Maglan"))
    	{
    		//говно говно говно
    	}
    	return null;
    }

    По полученному оператору локальной сети и IP адрессу машины определяет какой у нее шлюз. Жаль LINQ нету.

    KusokGovna, 10 Мая 2012

    Комментарии (12)
  5. Си / Говнокод #10235

    +116

    1. 1
    2. 2
    3. 3
    short lPort = atoi(szTemp);
    if (lPort <= 0 || lPort > 65535)
    	lPort = 80;

    absolut, 10 Мая 2012

    Комментарии (9)
  6. PHP / Говнокод #10234

    +74

    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
    $lang_ru = '<a class=lang-ru-RU href="#" id="btn1">RU</a>';
    $lang_en = '<A class=lang-en-US href="#" id="btn2">EN</A>';
    $lang_de = '<A class=lang-de-DE href="#" id="btn3">DE</A>';
    if (!isset($HTTP_COOKIE_VARS["language"])) {
    	$lang_1 = $lang_ru;
    	$lang_2 = $lang_en;
    	$lang_3 = $lang_de;
    } else {
    	if ($HTTP_COOKIE_VARS["language"] == 'en') {
    		$lang_1 = $lang_en;
    		$lang_2 = $lang_ru;
    		$lang_3 = $lang_de;
    	} else {
    		if ($HTTP_COOKIE_VARS["language"] == 'de') {
    			$lang_1 = $lang_de;
    			$lang_2 = $lang_ru;
    			$lang_3 = $lang_en;
    		} else {
    			$lang_1 = $lang_ru;
    			$lang_2 = $lang_en;
    			$lang_3 = $lang_de;
    		}
    	}
    }

    А если языков было бы больше?

    My_own_private_pony, 10 Мая 2012

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

    +93

    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
    private void Form1_Load(object sender, EventArgs e)
            {
                    this.пользователиTableAdapter.Fill(this.пользователиDataSet.Пользователи);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                string a1 = textBox1.Text;
                string a2 = a1 + ";" + textBox2.Text;
    
                int d = dataGridView1.ColumnCount-1;
                int d1 = dataGridView1.RowCount-1;
    
                for (int i = 0; i < d1; i++)
                {
                    for (int j = 0; j < d; j++)
                    {
                        if (a2 == ";")
                        {
                            MessageBox.Show("Введите логин и пароль");
                            d = 0;
                            d1 = 0;
                            break;
                        }
    
                        if (a2 == dataGridView1.Rows[i].Cells[0].Value.ToString())
                        {
                            int r1 = i;
                            int r2 = j;
    
                            string r11 = dataGridView1.Rows[r1].Cells[r2 + 1].Value.ToString() + dataGridView1.Rows[r1].Cells[r2 + 2].Value.ToString() + dataGridView1.Rows[r1].Cells[r2 + 3].Value.ToString() + dataGridView1.Rows[r1].Cells[r2 + 4].Value.ToString();
    
                            if (r11 == "++--")
                            {
                                Hide();
                                Form2 f2 = new Form2();
                                f2.ShowDialog();
                                d = 0;
                                d1 = 0;
                                this.Close();
                                break;
                            }
    
                            if (r11 == "--++")
                            {
                                Hide();
                                Form3 f3 = new Form3();
                                f3.ShowDialog();
                                d = 0;
                                d1 = 0;
                                this.Close();
                                break;
                            }
    
                            if (r11 == "--+-")
                            {
                                Hide();
                                Form4 f4 = new Form4();
                                f4.ShowDialog();
                                d = 0;
                                d1 = 0;
                                this.Close();
                                break;
                            }
                        }
    
                        int d11 = d1-1;
                        int dd = d-1;
    
                        if (j == dd && i == d11)
                        {
                            MessageBox.Show("Логин или пароль отсутствует в базе данных");
                        }
                    }
                        }
                    }      
                }
            }

    http://www.youtube.com/watch?v=MNQb-uxneYs

    lowercase, 10 Мая 2012

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

    +79

    1. 1
    for (; e.hasMoreElements();)

    смайлокод.
    вот почему не while, объясните мне?

    Lure Of Chaos, 10 Мая 2012

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    userPerms = (Permissions)Session["permissions"];
    if (userPerms.AllUserRights["rod_view"] == null && userPerms.AllUserRights["rod_view"] == null) {
        throw new Exception("no rights");
    }

    Я по два раза по два раза не повторяю не повторяю.

    sergey_sh, 10 Мая 2012

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

    +89

    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
    <?php
     
     
    if((isset($_FILES['file1'])) || 
       (isset($_FILES['file2'])) || 
       (isset($_FILES['file3'])) || 
       (isset($_FILES['file4']))){
     
                                if($_FILES['file1'] ['error'] || 
                                    $_FILES['file2'] ['error'] || 
                                    $_FILES['file3'] ['error'] || 
                                    $_FILES['file4'] ['error'] == 0 && 
     
                                                                              $_FILES['file1'] ['saze'] || 
                                                                              $_FILES['file2'] ['saze'] || 
                                                                       $_FILES['file3'] ['saze'] || 
                                                                       $_FILES['file4'] ['saze'] > 0) { 
                                                                      
                                                 $path1 = "E:\\apache\\";
                                                 $path1 .= basename($_FILES['file1'] ['name']);
                                                 $path2 = "E:\\apache\\";
                                                 $path2 .= basename($_FILES['file2'] ['name']);
                                                 $path3 = "E:\\apache\\";
                                                 $path3 .= basename($_FILES['file3'] ['name']);
                                                 $path4 = "E:\\apache\\";
                                                 $path4 .= basename($_FILES['file4'] ['name']);
                                                                     
                if(@move_uploaded_file($_FILES['file1'] ['tmp_name'],$path1)){ 
                   if(@move_uploaded_file($_FILES['file2'] ['tmp_name'],$path2)){
                      if(@move_uploaded_file($_FILES['file3'] ['tmp_name'],$path3)){
                         if(@move_uploaded_file($_FILES['file4'] ['tmp_name'],$path4)){
                         
                  }else{}
                }else{}     
              }else{}
            }else{}
          }else{}
        }else{}
     
     
    ?>

    я даже не знаю, как это прокомментировать. особенно нравится $_FILES['file1'] ['saze']

    heleg, 10 Мая 2012

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