Q 1420 (using object Class, for(), Class[] array) HARD!!!!!!!!!!!!
import java.util.Scanner;
class Student
{
String name;
int score;
public Student(String n, int s)
{
name = n;
score = s;
}
}
// class to make Student objects with a name and a score saved along into it
public class Main
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int i, b;
String a;
int n = input.nextInt();
Student[] arr = new Student[n];
// creates a Student[] (a type of array) named "arr", making n spots
for(i=0; i<n; i++)
{
a = input.next();
b = input.nextInt();
arr[i] = new Student (a, b);
}
// creates the necessary students INSIDE the Student[] arr
// ex. (hazel 30) in arr[0] -> hazel = name, 30 = score
// ex. (bella 42) in arr[1] -> bella = name, 42 = score
// EX. arr = [hazel 30, bella 42]
int maxindex=0;
// sets a starting point for comparison
for(i=0; i<n; i++)
{
if(arr[maxindex].score<arr[i].score)
{
maxindex=i;
}
}
arr[maxindex].score=0;
// goes through the Student[] arr spots one by one
// checks if the score of the current arr spot is bigger than the first
// after raking through all arr spots, sets the biggest score as 0
// bc we need only the third biggest
for(i=0; i<n; i++)
{
if(arr[maxindex].score<arr[i].score)
{
maxindex=i;
}
}
arr[maxindex].score=0;
// does the same again so we can find the third biggest
// bc this one is the second biggest number of a Student object
for(i=0; i<n; i++)
{
if(arr[maxindex].score<arr[i].score)
{
maxindex=i;
}
}
// last comparison, no need to delete the arr spot's score
System.out.print(arr[maxindex].name);
// prints out the name of the Student object in the Student[] arr, place = maxindex
// maxindex = the already saved value of index of the Student object with highest score
}
}
Q 1420 original solution by me (no Class, no Class[] array)
//
//
//import java.util.Scanner;
//public class Main
//{
// public static void main(String[] args)
// {
// int i, j;
// int biggest = 0;
// String biggestName="";
// Scanner input = new Scanner(System.in);
// int n = input.nextInt();
// int[] arr = new int[51];
// String[] arr2 = new String[51];
// for(i=0; i<n; i++)
// {
// String newPeer = input.next();
// int newScore = input.nextInt();
// arr[i] = newScore;
// arr2[i] = newPeer;
// }
// for(i = 0; i<n; i++)
// {
// if (arr[biggest] < arr[i])
// {
// biggest = i;
// }
// }
// arr[biggest] = 0;
//
// for(i = 0; i<n; i++)
// {
// if (arr[biggest] < arr[i])
// {
// biggest = i;
// }
// }
// arr[biggest] = 0;
//
// for(i = 0; i<n; i++)
// {
// if (arr[biggest] < arr[i])
// {
// biggest = i;
// }
// }
// System.out.print(arr2[biggest]);
// }
//}
//