"> else return a;
}
//Функція знаходження різних значень (кількостей працівників) у нижній частині клітини і мінімальних у верхній
public void countDifEl (int [,] mas, int [,] mas2, int [] U, int [,] tab, ref int [] difMas1, ref int [] difMas2, ref int [ ] difMas3, ref int [] sost)
{a=0; count=0; [0]=mas [0, 0]; [0]=mas2 [0, 0]; [0]=U [0]; [0 ]=tab [0, 0]; (int i=0; i lt; mas. GetLength (0); i ++) (int j=0; j lt; mas. GetLength (1); j ++)
{(mas [i, j]!=- 1)
{= 0; (int k=0; k lt; difMas1. Length; k ++)
if (mas [i, j] == difMas1 [k])//перевіряється, чи немає такого елемента в масиві з різними елементами
{// якщо є, то вибрати мінімальне значення для верхньої частини клітини
a=difMas2 [k]; [k]=min (difMas2 [k], mas2 [i, j]); (a gt; difMas2 [k])
{[k]=U [i]; [k]=tab [j, 0];
};
} count ++; (count == difMas1. Length)
{. Resize (ref difMas1, difMas1. Length + 1);// Збільшення розміру масиву на 1
Array. Resize (ref difMas2, difMas2. Length + 1) ;. Resize (ref difMas3, difMas3. Length + 1) ;. Resize (ref sost, sost. Length + 1); [difMas1. Length - 1]=mas [i, j]; [difMas2. Length - 1]=mas2 [i, j]; [difMas3. Length - 1]=U [i]; [sost. Length - 1]=tab [j, 0];
}
}
}
}
//Функція пошуку стану (кількості працівників) для зворотного перегляду
public void search (int [,] mas, int [,] mas2, int a, int b, ref int f)
{(int i=0; i lt; mas. GetLength (0); i ++) (int j=0; j lt; mas. GetLength (1); j ++) ((mas [i , j]!=- 1) amp; (mas [i, j] == a) amp; (mas2 [i, j] == b))
{f=j; break; }
}
public string minTime (int step, int [,] tab, ref int [] answer, ref int t)
{text= raquo ;; (int i=0; i lt; tab. GetLength (0); i ++)
if (tab [i, 0] == N)
{+= Мінімальний час, за яке будуть виконані роботи, становить T= + Tab [i, 2]; [step]=tab [i, 1];
t=tab [i, 2]; text;
} text;
} string printAnswer (int [] answer)
{text= raquo ;; += Бригади слід сформувати наступним чином: r n raquo ;;
for (int i=0; i lt; answer. Length; i ++) text += На + (I + 1) + склад - + Answer [i] + r n raquo ;;
return text;
}
//Кнопка завдання розмірів таблиці
private void button2_Click (object sender, EventArgs e)
{
textBox1. Clear () ;. Columns. Clear ();=int. Parse (numM. Text);=int. Parse (numN. Text);=int. Parse (numStr. Text) ;. Columns. Add ( , Кількість вантажників ); (int i=1; i lt; M + 1; i ++) dataGridView1. Columns. Add ( raquo ;, № + i); (int j=0; j lt; str; j ++)
{. Rows. Add ();
}. Text= Заповніть таблицю raquo ;;. Enabled=true ;. Enabled=false;
}
//матриця по умолчаніюvoid buttonDemo_Click (object sender, EventArgs e)
{. Clear () ;. Columns. Clear ();
N=21; M=5; str=5;// N - кількість вантажників, М - складів, str - рядків у вихідній таблиці [,] T=new int [5, 6] {{2, 10, 12, 14, 8, 18}, {4, 6, 8 , 9, 5, 12}, {5, 5, 6, 6, 3, 10}, {6, 3, 4, 4, 2, 8}, {8, 2, 3, 2, 1, 4}} ;. Columns. Add ( raquo ;, Кількість вантажників );
for (int i=1; i lt; M + 1; i ++) dataGridView1. Columns. Add ( raquo ;, № + i); (int j=0; j lt; str; j ++)
{. Rows. Add ();
} (int j=0; j lt; M + 1; j ++) (int i=0; i lt; str; i ++) [j, i]. Value=T [i, j] ;. AutoResizeColumns () ;. Enabled=true ;. Enabled=false;
} void buttonSteps_Click (object sender, EventArgs e)
{. Start ( C: Windows System32 notepad. Exe raquo ;, new. Txt );
}
}
}