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

    В номинации:
    За время:
  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. Си / Говнокод #10178

    +140

    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
    /*
                                          +
                                         +
                                        +
                                        +
                                        [         >i>n[t
                                         */   #include<stdio.h>
                            /*2w0,1m2,]_<n+a m+o>r>i>=>(['0n1'0)1;
                         */int/**/main(int/**/n,char**m){FILE*p,*q;int        A,k,a,r,i/*
                       #uinndcelfu_dset<rsitcdti_oa.nhs>i/_*/;char*d="P%"   "d\n%d\40%d"/**/
                     "\n%d\n\00wb+",b[1024],y[]="yuriyurarararayuruyuri*daijiken**akkari~n**"
              "/y*u*k/riin<ty(uyr)g,aur,arr[a1r2a82*y2*/u*r{uyu}riOcyurhiyua**rrar+*arayra*="
           "yuruyurwiyuriyurara'rariayuruyuriyuriyu>rarararayuruy9uriyu3riyurar_aBrMaPrOaWy^?"
          "*]/f]`;hvroai<dp/f*i*s/<ii(f)a{tpguat<cahfaurh(+uf)a;f}vivn+tf/g*`*w/jmaa+i`ni("/**
         */"i+k[>+b+i>++b++>l[rb";int/**/u;for(i=0;i<101;i++)y[i*2]^="~hktrvg~dmG*eoa+%squ#l2"
         ":(wn\"1l))v?wM353{/Y;lgcGp`vedllwudvOK`cct~[|ju {stkjalor(stwvne\"gt\"yogYURUYURI"[
         i]^y[i*2+1]^4;/*!*/p=(n>1&&(m[1][0]-'-'||m[1][1]  !='\0'))?fopen(m[1],y+298):stdin;
          /*y/riynrt~(^w^)],]c+h+a+r+*+*[n>)+{>f+o<r<(-m]    =<2<5<64;}-]-(m+;yry[rm*])/[*
           */q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout /*]{     }[*/:fopen(m[2],d+14);if(!p||/*
           "]<<*-]>y++>u>>+r >+u+++y>--u---r>++i+++"  <)<      ;[>-m-.>a-.-i.++n.>[(w)*/!q/**/)
        return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?/*
      o=82]5<<+(+3+1+&.(+  m  +-+1.)<)<|<|.6>4>-+(>    m-        &-1.9-2-)-|-|.28>-w-?-m.:>([28+
     */"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024/*
    ,mY/R*Y"R*/,p/*U*/)/*          R*/ )>/*U{  */   2&& b/*Y*/[0]/*U*/=='P' &&4==/*"y*r/y)r\}
    */sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){/*
    ]&<1<6<?<m.-+1>3> +:+ .1>3+++     .   -m-)      -;.u+=++.1<0< <; f<o<r<(.;<([m(=)/8*/
    u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
      /*]>*/{(u)=/*{   p> >u  >t>-]s                >++(.yryr*/+(    n+14>17)?8/4:8*5/
         4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(/*
          <g-e<t.c>h.a r  -(-).)8+<1.                 >;+i.(<)<     <)+{+i.f>([180*/1*
          (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i/*
          ("^w^NAMORI; {   I*/==a/*"                               )*/){/**/i=a=(u)*11
           &255;if(1&&0>=     (a=                                 fread(b,1,1024,p))&&
            ")]i>(w)-;} {                                         /i-f-(-m--M1-0.)<{"
             [ 8]==59/* */                                       )break;i=0;}r=b[i++]
                ;u+=(/**>>                                     *..</<<<)<[[;]**/+8&*
                (y+u))?(10-              r?4:2):(y[u]         &4)?(k?2:4):2;u=y[u/*
                 49;7i\(w)/;}             y}ru\=*ri[        ,mc]o;n}trientuu ren (
                 */]-(int)'`';}             fclose(          p);k= +fclose( q);
                  /*] <*.na/m*o{ri{                       d;^w^;}  }^_^}}
                   "   */   return  k-                -1+   /*\'   '-`*/
                         (   -/*}/   */0x01        );       {;{    }}
                                ;           /*^w^*/        ;}

    Код естественно работает. Кто скажет что делает этот код не компилируя - тот СУМЕДШИЙ БЛЯТЬ КРОВЬ КИШКИ РАСПИДАРАСИЛО!!11

    mark, 03 Мая 2012

    Комментарии (15)
  4. Java / Говнокод #10063

    +82

    1. 1
    info.setCreatingDate(document.getREGDATE() != null ? document.getREGDATE() : null);

    из реального проекта

    amberLord, 27 Апреля 2012

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

    +100

    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
    $sql = "SELECT (SELECT Name FROM dbo.RoutesTypes WHERE RowID = Type) AS Name --Название маршрута
          ,(SELECT Name FROM dbo.Destinations WHERE Name = '$Src') AS DestA --Пункт отправления
          ,(SELECT Name FROM dbo.Destinations WHERE Name = '$Dst') AS DestB --Пункт назначения
          --,(SELECT COUNT([RowID]) FROM [RoutePartInstances] WHERE [RoutePartType] = RoutesTypes.RowID AND [Occuped] = 0) AS FreePlaces --Количество свободных мест на выбранную часть маршрута
          ,(SELECT SUM(Cost) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TicketCost --Стоимость билета на выбранную часть маршрута
          ,(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TimeInWay --Время в пути на выбранной части маршрута
    		--Расчёт времени отправления
          ,(SELECT DATEADD(Minute, 
                (SELECT 
    				CASE
    					WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
    					ELSE 0
    				END),[DateStart])) AS DepartureTime
    		--Расчёт времени прибытия
          ,(SELECT DATEADD(Minute,
    		   (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern > RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type), 
    			   (SELECT DATEADD(Minute, 
    				   (SELECT 
    						CASE
    							WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA  AND InstanceID = Type)
    					ELSE 0
    				END),[DateStart])))) AS ArrivalTime
    	
    	--,RoutesTypes.OrderA --Порядок выбранной точки отправления в маршруте. Это нам понадобится при покупке билета
        --,RoutesTypes.OrderB --Порядок выбранной точки назначания в маршруте. Это нам понадобится при покупке билета
        --,RoutesTable.[RowID] AS RouteID --Идентификатор рейса из таблицы расписаний. Это нам понадобится при покупке билета
        --,RoutesTable.[Type] AS RouteTypeID --Идентификатор типа маршрута из таблицы типов маршрутов. Это нам понадобится при покупке билета
    
      FROM [RoutesTable] AS RoutesTable
      INNER JOIN	(SELECT RoutesParts_A.[InstanceID],RoutesParts_A.[TimeA],RoutesParts_B.TimeB,RoutesParts_A.RowID,RoutesParts_  A.Ordern AS OrderA,RoutesParts_B.Ordern AS OrderB
    				FROM [RoutesParts] AS RoutesParts_A
    				INNER JOIN (SELECT [InstanceID],[TimeB],[Ordern] FROM [RoutesParts] WHERE [DestBID] = (SELECT RowID FROM Destinations WHERE Name = '$Dst')) AS RoutesParts_B ON RoutesParts_B.InstanceID = RoutesParts_A.InstanceID
    				WHERE [DestAID] = (SELECT RowID FROM Destinations WHERE Name = '$Src'))AS RoutesTypes ON RoutesTable.Type = RoutesTypes.InstanceID";

    Встретил на форуме phpforum.ru. Человек интересовался почему не работает запрос :)

    vagrand, 27 Апреля 2012

    Комментарии (15)
  6. Java / Говнокод #9904

    +71

    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
    public int getLifeWidth() {
    		return cells == null ? 0 : cells.length;
    	}
    
    	public int getLifeHeight() {
    		return cells == null || cells.length == 0 || cells[0] == null ? 0 : cells[0].length;
    	}
    
    	private int _getLifeWidth() {
    		return cells.length;
    	}
    
    	private int _getLifeHeight() {
    		return cells[0].length;
    	}

    есть ли мне оправдание? ))

    Lure Of Chaos, 09 Апреля 2012

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

    +122

    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
    switch (count)
    {
    	case 2:
    		return Tuple.Create(col[1]);
    	case 3:
    		return Tuple.Create(col[1], col[2]);
    	case 4:
    		return Tuple.Create(col[1], col[2], col[3]);
    	case 5:
    		return Tuple.Create(col[1], col[2], col[3], col[4]);
    	case 6:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6]);
    	case 8:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7]);
    	case 9:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], col[7]);
    	case 10:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], Tuple.Create(col[8]));
    	case 11:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], Tuple.Create(col[8], col[9]));
    	case 12:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], Tuple.Create(col[8], col[9], col[10]));
    	case 13:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], Tuple.Create(col[8], col[9], col[10], col[11]));
    	case 14:
    		return Tuple.Create(col[1], col[2], col[3], col[4], col[5], col[6], col[7], Tuple.Create(col[8], col[9], col[10], col[11], col[12]));
    	default:
    		throw new ArgumentOutOfRangeException("count", count, "Can't convert array to tuple.");
    }

    a553r7fa1L3d, 05 Апреля 2012

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

    +67

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ...
                                /*}*/
                            /*}*/
                        /*}*/
                    /*}*/
                /*}*/
            /*}*/
        /*}*/
    /*}*/
    }

    Скачал, посмотрел, офигел:D

    asgard2080, 04 Апреля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Запиши эти слова в файл (например, words.txt или slova.txt) и прочитай его с помощью функции fgetcsv().
    <?php
    $x=fopen("slova.txt","r");
    $y=fgetcsv($x,filesize($x),' ');
    foreach($y as $line)
    {
        echo $line;
    };    
    ?>

    Разбиение строки на отдельные слова с сайта hashcode.ru

    Int, 01 Апреля 2012

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

    +134

    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
    зависающие маллок )))
    
    void * __cdecl malloc(size_t size)
    {
    	// No fail malloc!
    	void *pMem;
    	do {
    		pMem=HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,size);
    		if(pMem==NULL) Sleep(2000);
    	} while(pMem==NULL);
    
    	return pMem;
    }
    
    void * __cdecl operator new( unsigned int cb )
    {
    	// No fail new!
    	void *pMem;
    	do {
    		pMem=HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,cb);
    		if(pMem==NULL) Sleep(2000);
    	} while(pMem==NULL);
    
    	return pMem;
    }
    
    
    что хотел аффтар ? !!! аццкий сотона
    
    int GetCfgBool(char *cfgstr,const char *key)
    {
    	return GetCfgNum(cfgstr,key)?TRUE:FALSE;
    }
    
    аффтар застрелись !!!
    
    char *GetCfgStr(char *cfgstr,const char *key)
    {
    	char *str=cfgstr;
    	
    	// Skip past name of options list
    	while(*str!='\0') str++;
    	str++;
    	// Walk through options
    	while(*str!='\0') {
    		int nLen;
    		if(*str=='B') {
    			nLen=1;
    			str+=2;
    			if(strncmp(str,key,strlen(key))==0) break;
    		} else if(*str=='S') {
    			str+=2;
    			nLen=atoi(str);
    			while(*str!=']') str++;
    			str+=2;
    			if(strncmp(str,key,strlen(key))==0) break;
    		} else if(*str=='N') {
    			str+=2;
    			char *pb;
    			pb=str;
    			while(*str!=',') str++;
    			nLen=(DWORD)str-(DWORD)pb;
    			str++;
    			pb=str;
    			while(*str!=']') str++;
    			int nLen2=(DWORD)str-(DWORD)pb;
    			if(nLen2>nLen) nLen=nLen2;
    			str+=2;
    			if(strncmp(str,key,strlen(key))==0) break;
    		}
    		while(*str!='=') str++;
    		str++;
    		str+=(nLen+1);
    	}
    	if(*str!='\0') {
    		while(*str!='=') str++;
    		return str+1;
    	}
    	
    	return NULL;
    }
    
    
    исходники BO2K гениально !!!)) 
    и как не стыдно ЭТО распространять 
    http://www.bo2k.com/

    63F45EF45RB65R6VR, 26 Марта 2012

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

    +116

    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
    int min = 32000;
    int max = 0;
    int mind = 0;
    int i;
    int j;
    double t;
    double f;
    int p = 0;
    double[] x = new double[4];
    double[] k = new double[4];          //массив для К
    double[,] s = { { 2, 4, 5, 1, 0, 0, 0 }, { 1, 8, 6, 0, 1, 0, 0 }, { 7, 4, 5, 0, 0, 1, 0 }, { 4, 6, 7, 0, 0, 0, 1 } };
    double[,] a = { { 2, 4, 5, 1, 0, 0, 0 }, { 1, 8, 6, 0, 1, 0, 0 }, { 7, 4, 5, 0, 0, 1, 0 }, { 4, 6, 7, 0, 0, 0, 1 } };
    double[] b = { 120, 280, 240, 360 };
    double[] c = { 10, 14, 12, 0, 0, 0, 0 };
    double[] r = new double[7];
    double[,] s1 = new double[4, 7];
    for ( i = 0; i < 4; i++)
    {
        for (j = 0; j < 7; j++)
            Console.Write(a[i, j] + "\t");
        Console.WriteLine("\n");
     
    }
    for (j = 0; j < 4; j++)
        Console.Write(b[j] + "\t");
    Console.WriteLine();
     
    for (j = 0; j < 7; j++)
        Console.Write(c[j] + "\t");
    Console.WriteLine();
    Console.WriteLine();
      //первая итерация         
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 7; j++)
            {
    if (a[i, j] != 0)
        s[i, j] = b[i] / a[i, j];
     
    Console.Write(s[i, j] + "\t");
            }
            Console.WriteLine();
        }
        for (j = 0; j < 7; j++)
        {
            for (i = 0; i < 4; i++)
            {
    if (s[i, j] < min)
        min = Convert.ToInt32(s[i, j]);
     
     
     
            }
            r[j] = min * c[j];
            Console.Write(r[j] + "\t");
     
        }
        Console.WriteLine();
        for (j = 0; j < 7; j++)
        {
            if (r[j] > max)
            {
    max = Convert.ToInt32(r[j]);
    p = j;
     
     
     
            }
     
        }
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 7; j++)
            {
    k[i] = a[i, p];
            }
        }
        min = 32000;
     
        for (i = 0; i < 4; i++)
        {
            if (s[i, p] < min)
            {
    min = Convert.ToInt32(s[i, p]);
    mind = i;
     
            }
            Console.WriteLine();
     
     
        }
        t = a[mind, p];
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 7; j++)
            {
    s[i, j] = a[i, j];
            }
        }

    Полная версия: http://pastebin.com/p36MWPXR
    Этот код был выложен на одном из форумов с просьбой объяснить "Что делает приложенный код".
    Посмотрев строчек 50 из почти 300, понял, что мои нервы дороже этого говнокода.
    Форматирование практически полностью сохранено.
    Был один интересный пост к этой теме: "могу ошибаться, но по-моему - позорит автора", согласен с мнением автора этого поста.

    FutureCome, 24 Марта 2012

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