static void CreateTable(string fileName, out rowTable[] departTable, out rowTable[] arriveTable) { string[] tableString = LoadTablesFromFile(fileName); int countArrive = 0; int countDepart = 0; int action = 0; // o - not action, 1- depart, 2 - arrave for (int i = 0; i < tableString.Length; i++) { if (tableString[i] == "Depart") { action = 1; continue; } if (tableString[i] == "Arrive") { action = 2; continue; } switch (action) { case 1: countDepart++; break; case 2: countArrive++; break; } } departTable = new rowTable[countDepart]; arriveTable = new rowTable[countArrive]; countArrive = 0; countDepart = 0; action = 0; for (int i = 0; i < tableString.Length; i++) { if (tableString[i] == "Depart") { action = 1; continue; } if (tableString[i] == "Arrive") { action = 2; continue; } switch (action) { case 1: departTable[countDepart].SetValue(tableString[i]); countDepart++; break; case 2: arriveTable[countArrive].SetValue(tableString[i]); countArrive++; break; } } }
static rowTable[] AddFlight(rowTable[] oldTable, string s) { rowTable[] newTable = new rowTable[oldTable.Length + 1]; for (int i = 0; i < oldTable.Length; i++) { newTable[i] = oldTable[i]; } newTable[oldTable.Length].SetValue(s); SortTable(newTable); return(newTable); }