Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void bPut_Click1(object sender, EventArgs e)
- { //0
- int i = 0; int j = 0; int n = 0; int v = 0;
- int nn = 0; int mm = 0; int tek = 0; int n1 = 0;
- int k = 0; int npi = 0; int cher = 0; int jj = 0;
- int kp = 0; int kk = 0; int sc = 0;
- int m = 0;
- int kolper = 0;
- int vsp = 0;
- Loads hh1 = new Loads();
- Putv = new Putver [500];
- Pute = new Puted [500];
- Putver Promp=null;
- Putver Promp1=null;
- Puted Promd=null;
- Puted Promd1=null;
- int[] nachv = new Int32[500];
- int[] kput = new Int32[500];
- int[] konv = new Int32[500];
- int[] indmas = new Int32[1000];
- double[] dlinp = new double[1000];
- double[] gruz = new double[500];
- double[] gruzp = new double[500];
- double[] intens = new double[500];
- double dlput = 0.0;
- double putprom = 0.0;
- string buff = "";
- //нахождение всех путей для всех перевозок для всех вершин пиздееееец
- for (i = 0; i < mv; i++)
- { //1
- if (Ver[i].tip == 1)
- { //2
- v = Ver[i].numbv;
- if (Ver[i].Ld != null)
- { //3
- kolper = Ver[i].Ld.Count;
- for (jj = 0; jj < kolper; jj++)
- { //4
- hh1 = (Loads)Ver[i].Ld[jj];
- vsp = hh1.nver;
- for (nn = 0; nn < mv; nn++)
- { //5
- if (Ver[nn].numbv == vsp)
- { //6
- mm = nn; break;
- } //e6
- } //e5
- n1 = Ver[mm].numbv;
- npi = 0;
- nachv[tek] = Ver[i].numbv;
- konv[tek] = n1;
- gruz[tek] = hh1.ves;
- gruzp[tek] = gruz[tek];
- cher = 0;
- for (j = 0; j < tek; j++)
- { //7
- cher = cher + kput[j];
- } // e7
- Putv[cher] = new Putver();
- Putv[cher].Pvt = new List<pp>();
- Pute[cher] = new Puted();
- Pute[cher].Pet = new List<ee>();
- path(Ver[i].numbv, n1, me, cher, ref Ed, ref Ver, ref Putv, ref Pute, out npi, mv,me);
- //path();
- kput[tek] = npi;
- tek++;
- //нахождение длин найденых путей
- for (j = cher; j < cher + kput[tek - 1]; j++)
- { //8
- if (Putv[j] != null)
- { //9
- m = Putv[j].Pvt.Count;
- if(Pute[j]!=null)
- { //10
- m=Pute[j].Pet.Count;
- dlput=0.0;
- for (k = 0; k < m; k++)
- { //11
- vsp=Pute[j].Pet[k].nvr;
- for (nn = 0; nn < me; nn++)
- { //12
- if (Ed[nn].numbe == vsp)
- { //13
- mm = nn; break;
- } //e13
- } // e12
- dlput = dlput + Ed[mm].length;
- } // e11
- } // e10
- dlinp[j] = dlput;
- } //e9
- } // e8
- } // e4
- // n++;
- } // e3
- } // e2
- } // end i first e1
- //Сортировка путей для каждой вершины
- //проход по перевозкам
- for (i = 0; i < tek; i++)
- {
- //получение смещения к путям текущей перевозки
- cher = 0;
- for (j = 1; j <= i; j++) cher += kput[j - 1];
- //проход по путям текущей перевозки и получение массива индексов путей
- for (kk = cher; kk < cher + kput[i]; kk++) indmas[kk] = kk;
- //ну типо сортировка
- ShellSort(ref dlinp, kput[i], ref indmas, cher);
- k = 0; //что это блеать вообще , на кой это тут ????
- }
- //????????????????СУКА НЕ ЕБУ ВООБЩЕ ЧТО ЭТО ЗА ХУИТА БЛЕАТЬ Я ЕБАЛ ЕГО В РОТ НАХУЙ!!!!!
- //вроде это приблуда какието огрызки от сортировки шелла, почему оно здесь а не в блядской СОРТИРОВКЕ ШЕЛЛАА!!!
- //проход по всем перевозкам
- for (v = 0; v < tek; v++)
- { //v
- k = kput[v]; //получение колво путей для текущей V перевозки
- //подсчет смещения в массиве всех путей для путей текущей перевозки
- cher = 0;
- for (jj = 1; jj <= v; jj++)
- cher += kput[jj - 1];
- //хз
- Promp1 = Putv[0];
- Promd1 = Pute[0];
- //проход по путям текущей перевозки
- for (i = cher; i < cher + k; i++)
- {
- mm = indmas[i];
- //броверка блокировки
- if (mm >= 0)
- {
- //буферизация текущего пути
- Promp = Putv[i];
- Promd = Pute[i];
- //замена текущего пути на путь с сортированным индексом
- Putv[i] = Putv[mm];
- Pute[i] = Pute[mm];
- //блокировка индекса
- indmas[i] = -1;
- //поиск в масиве сортированных индесов индекса соответсвубщего текущему пути
- for (j = cher; j < cher + k; j++)
- {
- if (indmas[j] == i)
- {
- //буферизация пути расположенного по месту найденного индекса
- Promp1 = Putv[j];
- Promd1 = Pute[j];
- //замена пути по месту найденого индекса текущим путем
- Putv[j] = Promp;
- Pute[j] = Promd;
- //замена буферизаций
- //накуй это нужно ????
- Promp = Promp1;
- Promd = Promd1;
- //блокировка найденного индекса
- indmas[j] = -1;
- break;
- }
- }
- }
- }
- }
- //ебанаВРООТ!
- //???????? БЛЯЯЯЯЯЯЯЯ,.... АА не кароч это вывод всех путей в список
- k = 0;
- for (j = 0; j < tek; j++) k = k + kput[j]; //получение колличеста всех путей
- for (j = 0; j < k; j++)
- {
- if (Putv[j] != null)
- {
- m = Putv[j].Pvt.Count;
- buff = "";
- buff =buff + j.ToString();
- buff = buff + ":";
- for (i = 0; i < m; i++)
- {
- mm = (int)Putv[j].Pvt[i].nvr;
- buff = buff + mm.ToString();
- buff = buff + "-";
- }
- buff = buff + "(";
- buff = buff + dlinp[j].ToString();
- buff = buff + ")";
- // DropDownList1.Items.Add(buff);
- ListBox1.Items.Add(buff);
- }
- }
- k = 0;
- kp++;
- } // end bPut_click1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement