Το America’s Cup είναι ο μεγαλύτερος αγώνας ιστιοπλοΐας παγκοσμίως. Αποτελεί αγώνα δεξιοτεχνίας (match race) και όχι χρόνου. Σε κάθε ιστιοδρομία αγωνίζονται δύο μόνο σκάφη και νικά εκείνο που θα κάνει τις λιγότερες παραβάσεις κανονισμού (fouls). Στο τελευταίο America’s Cup συμμετείχαν 20 σκάφη. Κάθε σκάφος διαγωνίζεται με κάθε ένα από τα υπόλοιπα 19. Να αναπτύξετε πρόγραμμα με τις παρακάτω προδιαγραφές:
1. Να περιέχει τμήμα δηλώσεων
2. Να ζητά και να δέχεται τα ονόματα των σκαφών σε πίνακα ΟΝ[20]
3. Να δέχεται για κάθε σκάφος το πλήθος των fouls που έκανε σε καθένα από τα υπόλοιπα και να αποθηκεύει τα δεδομένα σε πίνακα F[20,20]. Δεδομένου ότι κάθε σκάφος δεν τρέχει με τον εαυτό του, να εισάγετε στην κύρια διαγώνιο την τιμή -1.
4. Κάνοντας χρήση του υποπρογράμματος που περιγράφεται στο ερώτημα 9, να παράγει τον πίνακα Ν[20] ο οποίος περιέχει το συνολικό αριθμό νικών του κάθε σκάφους.
5. Να εμφανίζει το όνομα του σκάφους που νίκησε στη διοργάνωση.
6. Να βρίσκει και να εμφανίζει τον ελάχιστο αριθμό fouls που έγιναν σε κάποιο σκάφος, σε έναν μόνο αγώνα.
7. Να βρίσκει και να εμφανίζει το όνομα ή τα ονόματα των σκαφών που δέχτηκαν τον ελάχιστο αριθμό fouls από κάποιο σκάφος.
8. Να βρίσκει και να εμφανίζει πόσα fouls δέχτηκε συνολικά το σκάφος «ALINGHI».
9. Να γράψετε τον ορισμό του υποπρογράμματος που καλείται στο ερώτημα 4. Το υποπρόγραμμα δέχεται τον πίνακα F και παράγει τον πίνακα Ν (Νίκες ανά σκάφος). Για κάθε ένα από τα 20 σκάφη, υπολογίζει το συνολικό αριθμό νικών του στη διοργάνωση. Ένα σκάφος νικά τον αντίπαλο, αν σε έναν αγώνα κάνει λιγότερα fouls από τον αντίπαλο. Σε περίπτωση που τα δύο σκάφη κάνουν ίσο αριθμό fouls, κερδίζουν από μια νίκη το καθένα.
Διευκρινίσεις:
Α) Να θεωρήσετε ότι δεν υπάρχει ισοβαθμία στην πρώτη θέση της διοργάνωσης.
Β) Να θεωρήσετε ότι το σκάφος «ALINGHI» συμμετείχε στη διοργάνωση.