Στο χθεσινό διαγωνισμό της EUROVISION διαγωνίστηκαν 27 χώρες οι οποίες ήταν οι 'μεγάλοι 5' (ΑΓΓΛΙΑ, ΙΤΑΛΙΑ, ΓΑΛΛΙΑ, ΓΕΡΜΑΝΙΑ, ΙΣΠΑΝΙΑ), η ΑΥΣΤΡΙΑ ως περσινή νικήτρια, η ΑΥΣΤΡΑΛΙΑ ως guest και 20 ακόμη χώρες που προέκυψαν από 2 ημιτελικούς (10 καλύτερες βάσει συνολικής βαθμολογίας από κάθε ημιτελικό) . Σε κάθε ημιτελικό διαγωνίζονταν 16 ή 17 χώρες (16 στον πρώτο και 17 στο δεύτερο). Να γραφεί αλγόριθμος ο οποίος:
α) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων τα ονόματα των χωρών κάθε ημιτελικού
β) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων τις συνολικές βαθμολογίες κάθε χώρας κάθε ημιτελικού
γ) θα ταξινομεί τις χώρες των 2 ημιτελικών βάσει συνολικής βαθμολογίας
γ) θα δημιουργεί και θα εμφανίζει τον πίνακα με τα ονόματα των χωρών που θα διαγωνιστούν στον τελικό τοποθετώντας τους 'big 5' πρώτα και έπειτα ΑΥΣΤΡΙΑ, ΑΥΣΤΡΑΛΙΑ και τις 20 χώρες από τους δύο ημιτελικούς που προκρίθηκαν στον τελικό. Όσον αφορά τις τελευταίες θα εισάγονται βάσει της συνολικής τους βαθμολογίας από την καλύτερη προς τη χειρότερη.
α) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων τα ονόματα των χωρών κάθε ημιτελικού
β) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων τις συνολικές βαθμολογίες κάθε χώρας κάθε ημιτελικού
γ) θα ταξινομεί τις χώρες των 2 ημιτελικών βάσει συνολικής βαθμολογίας
γ) θα δημιουργεί και θα εμφανίζει τον πίνακα με τα ονόματα των χωρών που θα διαγωνιστούν στον τελικό τοποθετώντας τους 'big 5' πρώτα και έπειτα ΑΥΣΤΡΙΑ, ΑΥΣΤΡΑΛΙΑ και τις 20 χώρες από τους δύο ημιτελικούς που προκρίθηκαν στον τελικό. Όσον αφορά τις τελευταίες θα εισάγονται βάσει της συνολικής τους βαθμολογίας από την καλύτερη προς τη χειρότερη.
Αλγόριθμος eurovision_2015_1
Για i από 1 μέχρι 16
Διάβασε ημιτ1[i], συν1[i]
Τέλος_επανάληψης
Για i από 1 μέχρι 17
Διάβασε ημιτ2[i], συν2[i]
Τέλος_επανάληψης
Για i από 2 μέχρι 16
Για j από 16 μέχρι i με_βήμα -1
Αν συν1[j-1] > συν1[j] τότε
Αντιμετάθεσε συν1[j-1], συν1[j]
Αντιμετάθεσε ημιτ1[j-1], ημιτ1[j]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 2 μέχρι 17
Για j από 17 μέχρι i με_βήμα -1
Αν συν2[j-1] > συν2[j] τότε
Αντιμετάθεσε συν2[j-1], συν2[j]
Αντιμετάθεσε ημιτ2[j-1], ημιτ2[j]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 10
προκρ1[i] ← ημιτ1[i]
προκρ2[i] ← ημιτ2[i]
Τέλος_επανάληψης
final[1] ← 'ΑΓΓΛΙΑ'
final[2] ← 'ΙΤΑΛΙΑ'
final[3] ← 'ΓΑΛΛΙΑ'
final[4] ← 'ΓΕΡΜΑΝΙΑ'
final[5] ← 'ΙΣΠΑΝΙΑ'
final[6] ← 'ΑΥΣΤΡΙΑ'
final[7] ← 'ΑΥΣΤΡΑΛΙΑ'
i ← 1
j ← 1
k ← 8
Όσο i ≤ 10 και j ≤ 10 επανάλαβε
Αν προκρ1[i] > προκρ2[j] τότε
final[k] ← προκρ1[i]
i ← i + 1
αλλιώς
final[k] ← προκρ2[j]
j ← j + 1
Τέλος_αν
k ← k + 1
Τέλος_επανάληψης
Αν i > 10 τότε
Για m από k μέχρι 27
final[m] ← προκρ2[j]
j ← j + 1
Τέλος_επανάληψης
αλλιώς
Για m από k μέχρι 27
final[m] ← προκρ1[i]
i ← i + 1
Τέλος_επανάληψης
Τέλος_αν
Για i από 1 μέχρι 27
Εμφάνισε final[i]
Τέλος_επανάληψης
Τέλος eurovision_2015_1
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου