Advertisement
Guest User

T-T

a guest
Mar 15th, 2018
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.29 KB | None | 0 0
  1.    protected void bPut_Click1(object sender, EventArgs e)
  2.         {  //0
  3.             int i = 0; int j = 0; int n = 0; int v = 0;
  4.             int nn = 0; int mm = 0; int tek = 0; int n1 = 0;
  5.             int k = 0; int npi = 0; int cher = 0; int jj = 0;
  6.             int kp = 0; int kk = 0; int sc = 0;
  7.             int m = 0;
  8.             int kolper = 0;
  9.             int vsp = 0;
  10.             Loads hh1 = new Loads();
  11.             Putv = new Putver [500];
  12.             Pute = new  Puted [500];
  13.             Putver Promp=null;
  14.             Putver Promp1=null;
  15.             Puted Promd=null;
  16.             Puted Promd1=null;
  17.             int[] nachv = new Int32[500];
  18.             int[] kput = new Int32[500];
  19.             int[] konv = new Int32[500];
  20.             int[] indmas = new Int32[1000];
  21.             double[] dlinp = new double[1000];
  22.             double[] gruz = new double[500];
  23.             double[] gruzp = new double[500];
  24.             double[] intens = new double[500];
  25.             double dlput = 0.0;
  26.             double putprom = 0.0;
  27.             string buff = "";
  28.            
  29.            
  30.             //нахождение всех путей для всех перевозок для всех вершин пиздееееец
  31.             for (i = 0; i < mv; i++)
  32.             {   //1
  33.                 if (Ver[i].tip == 1)
  34.                 {  //2
  35.                     v = Ver[i].numbv;
  36.                     if (Ver[i].Ld != null)
  37.                     {  //3
  38.                         kolper = Ver[i].Ld.Count;
  39.                         for (jj = 0; jj < kolper; jj++)
  40.                         {   //4
  41.                             hh1 = (Loads)Ver[i].Ld[jj];
  42.                             vsp = hh1.nver;
  43.                             for (nn = 0; nn < mv; nn++)
  44.                             {  //5
  45.                                 if (Ver[nn].numbv == vsp)
  46.                                 {  //6
  47.                                     mm = nn; break;
  48.                                 }  //e6
  49.                             }  //e5
  50.                             n1 = Ver[mm].numbv;
  51.                             npi = 0;
  52.                             nachv[tek] = Ver[i].numbv;
  53.                             konv[tek] = n1;
  54.                             gruz[tek] = hh1.ves;
  55.                             gruzp[tek] = gruz[tek];
  56.                             cher = 0;
  57.                             for (j = 0; j < tek; j++)
  58.                             {   //7
  59.                                 cher = cher + kput[j];
  60.                             }   // e7
  61.                             Putv[cher] = new Putver();
  62.                             Putv[cher].Pvt = new List<pp>();
  63.                             Pute[cher] = new Puted();
  64.                             Pute[cher].Pet = new List<ee>();
  65.                             path(Ver[i].numbv, n1, me, cher, ref Ed, ref Ver, ref Putv, ref Pute, out npi, mv,me);
  66.                             //path();
  67.                             kput[tek] = npi;
  68.                             tek++;
  69.                            
  70.                             //нахождение длин найденых путей
  71.                             for (j = cher; j < cher + kput[tek - 1]; j++)
  72.                             {   //8
  73.                                 if (Putv[j] != null)
  74.                                 {   //9
  75.                                     m = Putv[j].Pvt.Count;
  76.                                     if(Pute[j]!=null)
  77.                                     {  //10
  78.                                         m=Pute[j].Pet.Count;
  79.                                         dlput=0.0;
  80.                                             for (k = 0; k < m; k++)
  81.                                             {   //11
  82.                                            vsp=Pute[j].Pet[k].nvr;
  83.                                                 for (nn = 0; nn < me; nn++)
  84.                                                 {   //12
  85.                                                     if (Ed[nn].numbe == vsp)
  86.                                                     {   //13
  87.                                                         mm = nn; break;
  88.                                                     }  //e13
  89.                                                 }   // e12
  90.                                                 dlput = dlput + Ed[mm].length;
  91.                                             } // e11
  92.                                     } // e10
  93.                                         dlinp[j] = dlput;
  94.                                 } //e9
  95.                             } // e8
  96.                            
  97.                            
  98.                            
  99.                            
  100.                            
  101.                         }   // e4
  102. //                            n++;
  103.                     } // e3
  104.                 } // e2
  105.             } // end i first e1
  106.    
  107.    
  108.    
  109.    
  110.    
  111.    
  112.    
  113.    
  114.    
  115.    
  116.    //Сортировка путей для каждой вершины
  117.    //проход по перевозкам
  118.     for (i = 0; i < tek; i++)
  119.     {
  120.         //получение смещения к путям текущей перевозки
  121.         cher = 0;
  122.         for (j = 1; j <= i; j++) cher += kput[j - 1];
  123.        
  124.         //проход по путям текущей перевозки и получение массива индексов путей
  125.         for (kk = cher; kk < cher + kput[i]; kk++) indmas[kk] = kk;
  126.        
  127.         //ну типо сортировка
  128.         ShellSort(ref dlinp, kput[i], ref indmas, cher);
  129.         k = 0; //что это блеать вообще , на кой это тут ????
  130.     }
  131.  
  132.  
  133.  
  134.  //????????????????СУКА НЕ ЕБУ ВООБЩЕ ЧТО ЭТО ЗА ХУИТА БЛЕАТЬ Я ЕБАЛ ЕГО В РОТ НАХУЙ!!!!!
  135.  //вроде это приблуда какието огрызки от сортировки шелла, почему оно здесь а не в блядской СОРТИРОВКЕ ШЕЛЛАА!!!
  136.    
  137.     //проход по всем перевозкам
  138.     for (v = 0; v < tek; v++)
  139.     {    //v
  140.         k = kput[v]; //получение колво путей для текущей V перевозки
  141.        
  142.         //подсчет смещения в массиве всех путей для путей текущей перевозки
  143.         cher = 0;
  144.         for (jj = 1; jj <= v; jj++)
  145.             cher += kput[jj - 1];
  146.        
  147.         //хз
  148.         Promp1 = Putv[0];
  149.         Promd1 = Pute[0];
  150.        
  151.         //проход по путям текущей перевозки
  152.         for (i = cher; i < cher + k; i++)
  153.         {  
  154.             mm = indmas[i];
  155.             //броверка блокировки
  156.             if (mm >= 0)
  157.             {  
  158.                 //буферизация текущего пути
  159.                 Promp = Putv[i];
  160.                 Promd = Pute[i];
  161.                
  162.                 //замена текущего пути на путь с сортированным индексом
  163.                 Putv[i] = Putv[mm];
  164.                 Pute[i] = Pute[mm];
  165.                
  166.                 //блокировка индекса
  167.                 indmas[i] = -1;
  168.                
  169.                 //поиск в масиве сортированных индесов индекса соответсвубщего текущему пути
  170.                 for (j = cher; j < cher + k; j++)  
  171.                 {
  172.                     if (indmas[j] == i)
  173.                     {
  174.                         //буферизация пути расположенного по месту найденного индекса
  175.                         Promp1 = Putv[j];
  176.                         Promd1 = Pute[j];
  177.                         //замена пути по месту найденого индекса текущим путем    
  178.                         Putv[j] = Promp;
  179.                         Pute[j] = Promd;
  180.                        
  181.                         //замена буферизаций
  182.                         //накуй это нужно ????
  183.                         Promp = Promp1;
  184.                         Promd = Promd1;
  185.                        
  186.                         //блокировка найденного индекса
  187.                         indmas[j] = -1;
  188.                        
  189.                         break;
  190.                     }
  191.                 }  
  192.             }
  193.            
  194.         }
  195.     }
  196.      //ебанаВРООТ!
  197.  
  198.  
  199.  
  200.  
  201.     //???????? БЛЯЯЯЯЯЯЯЯ,.... АА не кароч это вывод всех путей в список
  202.     k = 0;
  203.     for (j = 0; j < tek; j++) k = k + kput[j]; //получение колличеста всех путей
  204.     for (j = 0; j < k; j++)
  205.     {
  206.         if (Putv[j] != null)
  207.         {
  208.             m = Putv[j].Pvt.Count;
  209.             buff = "";
  210.             buff =buff + j.ToString();
  211.             buff = buff + ":";
  212.             for (i = 0; i < m; i++)
  213.             {
  214.                 mm = (int)Putv[j].Pvt[i].nvr;
  215.                 buff = buff + mm.ToString();
  216.                 buff = buff + "-";
  217.             }
  218.             buff = buff + "(";
  219.             buff = buff + dlinp[j].ToString();
  220.             buff = buff + ")";
  221. //                        DropDownList1.Items.Add(buff);
  222.             ListBox1.Items.Add(buff);
  223.         }
  224.     }
  225.     k = 0;    
  226.     kp++;
  227.                
  228. } // end bPut_click1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement