public static GeneralAveregeOfStudents[] ResizeArray(GeneralAveregeOfStudents[] oldArray, int difference) { var newArray = new GeneralAveregeOfStudents[oldArray.Length + difference]; for (var i = 0; i < oldArray.Length; i++) newArray[i] = oldArray[i]; return newArray; }
public static void Swap(ref GeneralAveregeOfStudents x, ref GeneralAveregeOfStudents y) { var temp = y; y = x; x = temp; }
public static GeneralAveregeOfStudents[] AddToArray(ref GeneralAveregeOfStudents[] array, GeneralAveregeOfStudents newValue) { array = ResizeArray(array, 1); array[array.Length - 1] = newValue; return array; }
public static GeneralAveregeOfStudents[] GetStudentWithSmallestGeneralAverage(Catalog[] catalog, double generalAverage) { var studentsWithSmallestGeneralAverege = new GeneralAveregeOfStudents[0]; var orderedStudents = GetOrderedSudentsByGeneralAverege(catalog); for(var i=0;i<orderedStudents.Length;i++) if (orderedStudents[i].GeneralAverage == generalAverage) AddToArray(ref studentsWithSmallestGeneralAverege, orderedStudents[i]); return studentsWithSmallestGeneralAverege; }
public static GeneralAveregeOfStudents[] GetStudentWithMostMarkOfTen(Catalog[] catalog) { var studentsWithNoMax = new GeneralAveregeOfStudents[0]; var generalAverage = GetAllGeneralAveragePerStudent(catalog); var arrayNoMark = GetNoOfMarkPerStudent(catalog); var noMax = GetMaxVaule(arrayNoMark); for(var i=0;i<arrayNoMark.Length-1;i++) if (arrayNoMark[i] == noMax) AddToArray(ref studentsWithNoMax, generalAverage[i]); return studentsWithNoMax; }
public static GeneralAveregeOfStudents[] GetStudentWithGeneralAverage(GeneralAveregeOfStudents[] students, double generalAverage) { var min = 0; var max = students.Length-1; var studentWithGeneralAverage=new GeneralAveregeOfStudents[0]; while (min <= max) { var middle = (min + max)/2; if (generalAverage == students[middle].GeneralAverage) AddToArray(ref studentWithGeneralAverage, students[middle]); if (generalAverage > students[middle].GeneralAverage) max = middle - 1; else { min = middle + 1; } } return studentWithGeneralAverage; }
public static GeneralAveregeOfStudents[] GetAllGeneralAveragePerStudent(Catalog[] catalog) { var generalAverage = new GeneralAveregeOfStudents[0]; for (var i = 0; i < catalog.Length ; i++) { var newValue = GetGeneralAverage(catalog[i]); AddToArray(ref generalAverage, newValue); } return generalAverage; }