Επομένως μια λύση για το θέμα 4, θα ήταν η ακόλουθη:
ΠΡΟΓΡΑΜΜΑ Διαγωνισμός
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: Ο[24], χώρα, temp2
ΑΚΕΡΑΙΕΣ: θ, Πόντοι[7], i, j, Β[24, 24], ΣΒ[24], Σ, temp1
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 7
ΔΙΑΒΑΣΕ Πόντοι[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24
ΔΙΑΒΑΣΕ Ο[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 24 ! γέμισε όλα τη γραμμή με 0
Β[i, j] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7 ! πάρε τις 7 χώρες
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ χώρα
θ <- Αναζήτηση(Ο, χώρα)
ΜΕΧΡΙΣ_ΟΤΟΥ θ <> 0 ΚΑΙ θ <> i
! έγκυρο όνομα, όχι τον εαυτό της
ΜΕΧΡΙΣ_ΟΤΟΥ Β[i, θ] = 0
! και να μην έχει δώσει ήδη βαθμολογία
Β[i, θ] <- Πόντοι[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 24 ! κατά στήλες
Σ <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24
Σ <- Σ + Β[i, j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΒ[j] <- Σ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 24
ΓΙΑ j ΑΠΟ 24 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ ΣΒ[j-1] < ΣΒ[j] ΤΟΤΕ
temp1 <- ΣΒ[j]
ΣΒ[j] <- ΣΒ[j-1]
ΣΒ[j-1] <- temp1
temp2 <- Ο[j]
Ο[j] <- Ο[j-1]
Ο[j-1] <- temp2
ΑΛΛΙΩΣ_ΑΝ ΣΒ[j] = ΣΒ[j-1] ΚΑΙ Ο[j-1] > Ο[j] ΤΟΤΕ
temp2 <- Ο[j]
Ο[j] <- Ο[j-1]
Ο[j-1] <- temp2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24
ΓΡΑΨΕ Ο[i], ΣΒ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Διαγωνισμός
!==============================
ΣΥΝΑΡΤΗΣΗ Αναζήτηση(table, key): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: table[24], key
ΑΚΕΡΑΙΕΣ: pos, i
ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
done <- ΨΕΥΔΗΣ
pos <- 0
i <- 1
ΟΣΟ done = ΨΕΥΔΗΣ ΚΑΙ i <= 24 ΕΠΑΝΑΛΑΒΕ
ΑΝ table[Ι] = key ΤΟΤΕ
done <- ΑΛΗΘΗΣ
pos <- i
ΑΛΛΙΩΣ
i <- i + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Αναζήτηση <- pos
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Στην εκφώνηση μάλλον θα πρέπει να προστεθεί στον έλεγχο δεδομένων "οτι δεν μπορεί να βαθμολογήσει χώρα που βαθμολόγησε ήδη" (δείτε και λύση παραπάνω)
επίσης, ο πίνακας Πόντοι διαβάζεται ή αρχικοποιείται με εκχώρηση όπως ρωτά ο @rodotheos; Αν διαβάζεται, να μπει παρατήρηση οτι αυτό γίνεται σωστά...