TeamSequence = new List<int>(); for (int i = 0; i < teams.Length; i++) { int team_ambassor = generator.Next(1000, 1000000)%teams.Length; while (TeamSequence.Contains(team_ambassor)) team_ambassor = generator.Next(1000, 1000000)%teams.Length; TeamSequence.Add(team_ambassor); } foreach (int i in TeamSequence) textBox1.Text += " : " + teams[i] + "\r\n";
double[,] rate = new double[16,8]; int team=new int(); DataTable table = new DataTable(); List<int> Marklist = new List<int>(); string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"", "C:\\team.xlsx"); using (OleDbConnection dbConnection = new OleDbConnection(strConn)) { using (OleDbDataAdapter dbAdapter = new OleDbDataAdapter("SELECT * FROM [3$]", dbConnection)) dbAdapter.Fill(table); for (int j = 0; j < 8; j++) { team = 0; foreach (DataRow dr in table.Rows) { for (int i = 9; i < 17; i++) { int mark = 1 + generator.Next(10000, 10000000)%8; while (Marklist.Contains(mark)) mark = 1 + generator.Next(10000, 10000000)%8; Marklist.Add(mark); rate[team, i - 9] += Convert.ToInt32(dr.ItemArray[i])*mark; } team++; Marklist.Clear(); } } dbConnection.Close(); }
double[,] rate = new double[12,9]; int team=new int(); DataTable table = new DataTable(); List<int> Marklist = new List<int>(); string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"", "C:\\team.xlsx"); using (OleDbConnection dbConnection = new OleDbConnection(strConn)) { // , 12 , 9 using (OleDbDataAdapter dbAdapter = new OleDbDataAdapter("SELECT * FROM [5$]", dbConnection)) dbAdapter.Fill(table); team = 0; foreach (DataRow dr in table.Rows) { { rate[Convert.ToInt32(dr.ItemArray[0]) - 1, team%9] = Convert.ToDouble(dr.ItemArray[6]); team++; } } dbConnection.Close(); } table = new DataTable(); double[,] team_rate = new double[16,9]; team = 0; using (OleDbConnection dbConnection = new OleDbConnection(strConn)) { // = 16 . using (OleDbDataAdapter dbAdapter = new OleDbDataAdapter("SELECT * FROM [6$]", dbConnection)) dbAdapter.Fill(table); foreach (DataRow dr in table.Rows) { for (int i = 0; i < 9; i++) { team_rate[team%16, i] = rate[Convert.ToInt32(dr.ItemArray[0]) - 1, i]* Convert.ToDouble(dr.ItemArray[1]); } team++; } dbConnection.Close(); } StreamWriter sw = new StreamWriter("teams_koeff.txt"); for (int i = 0; i <16; i++) { sw.WriteLine(Convert.ToString(teams[i])); for (int j = 0; j < 9; j++) { sw.Write(Convert.ToString(month[j]+"\t")); sw.Write(team_rate[i, j]+"\t"); } sw.WriteLine(); } sw.Close();
Source: https://habr.com/ru/post/185130/
All Articles