public StudentAndAverageGrade[] FindStudentsWithLowestAverageGrade(Student[] students) { StudentAndAverageGrade[] studentsLAG = new StudentAndAverageGrade[0]; var min = CalculateTheAverageGradeForOneStudent(students[0]); var lowestGradeStudent = students[0]; var counter = -1; for (int i = 1; i < students.Length; i++) { if (min > CalculateTheAverageGradeForOneStudent(students[i])) { min = CalculateTheAverageGradeForOneStudent(students[i]); lowestGradeStudent = students[i]; } } for (int i = 0; i < students.Length; i++) { if (min == CalculateTheAverageGradeForOneStudent(students[i])) { Array.Resize(ref studentsLAG, studentsLAG.Length + 1); counter++; studentsLAG[counter] = new StudentAndAverageGrade(students[i].studentName, min); } } return(studentsLAG); }
public void ShouldSortStudentsbyAverageGrade() { Student[] students = new Student[] { new Student("Paul", new Material[] { new Material("Math", new int[] { 7, 7 }), new Material("English", new int[] { 7, 7 }), new Material("French", new int[] { 7, 7 }) }), new Student("Raul", new Material[] { new Material("Math", new int[] { 6, 6 }), new Material("English", new int[] { 6, 6 }), new Material("French", new int[] { 6, 6 }) }), new Student("Alin", new Material[] { new Material("Math", new int[] { 8, 8 }), new Material("English", new int[] { 8, 8 }), new Material("French", new int[] { 8, 8 }) }), new Student("Zoro", new Material[] { new Material("Math", new int[] { 6, 6 }), new Material("English", new int[] { 6, 6 }), new Material("French", new int[] { 6, 6 }) }) }; var result0 = new string[] { "Alin", "Paul", "Raul", "Zoro" }; var result1 = new StudentAndAverageGrade[] { new StudentAndAverageGrade("Alin", 8), new StudentAndAverageGrade("Paul", 7), new StudentAndAverageGrade("Raul", 6), new StudentAndAverageGrade("Zoro", 6) }; var function0 = SortAlphabetically(students); Assert.AreEqual(result0[0], function0[0].studentName); Assert.AreEqual(result0[3], function0[3].studentName); var function1 = SortStudentsbyAverageGrade(students); CollectionAssert.AreEqual(result1, function1); var function2 = FindStudentsWithLowestAverageGrade(students); CollectionAssert.AreEqual(new StudentAndAverageGrade[] { new StudentAndAverageGrade("Raul", 6), new StudentAndAverageGrade("Zoro", 6) }, function2); var function3 = FindStudentWitheSpecificAverageGrade(students, 7); CollectionAssert.AreEqual(new StudentAndAverageGrade[] { new StudentAndAverageGrade("Paul", 7) }, function3); }
public StudentAndAverageGrade[] FindStudentWitheSpecificAverageGrade(Student[] students, int averageGrade) { StudentAndAverageGrade[] findTheStudent = new StudentAndAverageGrade[0]; var counter = -1; for (int i = 0; i < students.Length; i++) { if (averageGrade == CalculateTheAverageGradeForOneStudent(students[i])) { Array.Resize(ref findTheStudent, findTheStudent.Length + 1); counter++; findTheStudent[counter] = new StudentAndAverageGrade(students[i].studentName, averageGrade); } } return(findTheStudent); }
public StudentAndAverageGrade[] SortStudentsbyAverageGrade(Student[] students) { for (int i = 0; i < students.Length; i++) { for (int j = i + 1; j < students.Length; j++) { if (CalculateTheAverageGradeForOneStudent(students[i]) < CalculateTheAverageGradeForOneStudent(students[j])) { Change(ref students[i], ref students[j]); } } } StudentAndAverageGrade[] list = new StudentAndAverageGrade[students.Length]; for (int i = 0; i < students.Length; i++) { var averageGrade = CalculateTheAverageGradeForOneStudent(students[i]); list[i] = new StudentAndAverageGrade(students[i].studentName, averageGrade); } return(list); }