Έβγαλα ένα θεματάκι για ένα διαγώνισμα, κλασικότατο το 1ο ερώτημα , Δυαδική με κένά. Και έπειτα εύρεση όλων των θέσεων εμφάνισης του στοιχείου χωρίς τη χρήση δομής επιλογής. Κάτι είχα στο μυαλό μου σαν απάντηση για το 2ο ερώτημα, να κάνει σεριακή αριστερά και έπειτα δεξιά του στοιχείου αλλά μπορεί να είναι και ακριανό οπότε πάλι θέλει έλεγχο με επιλογή (το βαλα μια μονάδα έτσι για την τιμή). Να το βγάλω ή υπάρχει τρόπος;
Β2. 1. Ο πίνακας Α[Ν] περιέχει ακέραια στοιχεία ταξινομημένα σε αύξουσα σειρά και μπορεί να περιέχει και ίδιες τιμές (διπλότυπα). Να συμπληρώσετε τα κενά στο παρακάτω τμήμα προγράμματος ώστε αυτό να βρίσκει και να εμφανίζει τη θέση εμφάνισης του στοιχείου key που αναζητείται ή το μήνυμα «ΔΕΝ ΒΡΕΘΗΚΕ» σε αντίστοιχη περίπτωση, εφαρμόζοντας τον αλγόριθμο της Δυαδικής Αναζήτησης. flag ß ...(1)... θ ß 0
left ß 1
right ß N
ΟΣΟ ...(2)... ΚΑΙ (left <= right) ΕΠΑΝΑΛΑΒΕ
mid ß ...(3)... ΑΝ A[mid] = key ΤΟΤΕ
flag <- ΑΛΗΘΗΣ θ ß mid
ΑΛΛΙΩΣ_ΑΝ A[mid] > key ΤΟΤΕ
right ß ...(4)... ΑΛΛΙΩΣ left ß ...(5)... ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΑΝ ...(6)... ΤΟΤΕ ΓΡΑΨΕ θ
ΑΛΛΙΩΣ ΓΡΑΨΕ "ΔΕΝ ΒΡΕΘΗΚΕ"ΤΕΛΟΣ_ΑΝ2. Αφήνοντας το παραπάνω τμήμα προγράμματος ως έχει, συμπληρώστε με τον κατάλληλο κώδικα ώστε να υπολογίζει και να εμφανίζει όλες τις θέσεις που υπάρχει το στοιχείο key στον πίνακα Α[Ν], χωρίς τη χρήση δομής επιλογής.
Μονάδες 1