Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μονοδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: Νίκος Αδαμόπουλος στις 07 Μαρ 2011, 10:15:21 ΜΜ

Τίτλος: 'Συνένωση' πινάκων
Αποστολή από: Νίκος Αδαμόπουλος στις 07 Μαρ 2011, 10:15:21 ΜΜ
Δίνονται πίνακες Α και Β με μ και ν στοιχεία αντίστοιχα. Να γραφεί τμήμα αλγορίθμου που να αντιγράφει τα στοιχεία των δύο πινάκων σε έναν άλλο πίνακα, διατηρώντας την αρχική σειρά των στοιχείων, και πρώτα τα στοιχεία του πίνακα Α και μετά του Β.

1) Με έναν δείκτη και απλούς υπολογισμούς:

α) Το ι να αποτελεί δείκτη για τους Α και Β:

Για ι από 1 μέχρι μ
   Γ[ι] <- Α[ι]
Τέλος_επανάληψης
Για ι από 1 μέχρι ν
   Γ[ι+μ] <- Β[ι]
Τέλος_επανάληψης

β) Το ι να αποτελεί δείκτη του Γ:

Για ι από 1 μέχρι μ
   Γ[ι] <- Α[ι]
Τέλος_επανάληψης
Για ι από μ+1 μέχρι μ+ν
   Γ[ι] <- Β[ι-μ]
Τέλος_επανάληψης

2) Με ξεχωριστούς δείκτες:

α) Το ι να αποτελεί δείκτη για τους Α και Β:

Για ι από 1 μέχρι μ
   Γ[ι] <- Α[ι]
Τέλος_επανάληψης
κ <- μ+1
Για ι από 1 μέχρι ν
   Γ[κ] <- Β[ι]
   κ <- κ+1
Τέλος_επανάληψης

β) Το ι να αποτελεί δείκτη του Γ:

Για ι από 1 μέχρι μ
   Γ[ι] <- Α[ι]
Τέλος_επανάληψης
κ <- 1
Για ι από μ+1 μέχρι μ+ν
   Γ[ι] <- Β[κ]
   κ <- κ+1
Τέλος_επανάληψης
Τίτλος: Απ: 'Συνένωση' πινάκων
Αποστολή από: Sergio στις 07 Μαρ 2011, 10:30:13 ΜΜ
Όμορφα !!

Αυτό ακριβώς εννοούσα όταν αναφερόμουνα στην τεχνική της διαχείρησης πολλαπλών δεικτών σε άλλο θέμα (https://alkisg.mysch.gr/steki/index.php?topic=3724.msg38263#msg38263)
Τίτλος: Απ: 'Συνένωση' πινάκων
Αποστολή από: Sergio στις 07 Μαρ 2011, 10:41:10 ΜΜ
Με την ευκαιρία, να παραθέσω εδώ δύο ασκήσεις στο ίδιο θέμα:




Έστω πίνακας Α με τα ονόματα των 12 αγοριών και πίνακας Κ με τα ονόματα των 14 κοριτσιών ενός τμήματος. Να γίνει αλγόριθμος που

α) να ενημερώνει νέο πίνακα Μ (26 κόμβων), αντιγράφοντας στην αρχή του πίνακα τα ονόματα των αγοριών και στο τέλος τα ονόματα των κοριτσιών. 
β) να ενημερώνει τον πίνακα Μ, αντιγράφοντας όμως στην αρχή τα κορίτσια και στο τέλος τα αγόρια.
γ) να υλοποιεί την (αντίστροφη) διαδικασία ενημερώνοντας τους πίνακες Α και Κ με βάση τα στοιχεία του Μ, τόσο για την περίπτωση (α) όσο και για την περίπτωση (β)




Έστω πίνακας Α με τα ονόματα των 12 ανδρών που πρώτευσαν στις 12 κατηγορίες στους αγώνες πάλης και πίνακας Γ με τα αντίστοιχα ονόματα των γυναικών. Να γίνει αλγόριθμος ο οποίος:

α) να ενημερώνει νέο πίνακα Ο (24 κόμβων) με τα στοιχεία των Α και Γ, αντιγράφοντάς τα κατα τρόπον ώστε ώστε οι νικητές (γυναίκα – άνδρας) της κάθε κατηγορίας να τοποθετούνται εναλλάξ στο νέο πίνακα, με το όνομα της γυναίκας πρώτο και το όνομα του άνδρα δεύτερο.
β) να υλοποιεί την (αντίστροφη) διαδικασία ενημερώνοντας τους πίνακες Α και Γ με βάση τα στοιχεία του Ο

Τίτλος: Απ: 'Συνένωση' πινάκων
Αποστολή από: Νίκος Αδαμόπουλος στις 07 Μαρ 2011, 10:46:32 ΜΜ
Παράθεση από: Sergio στις 07 Μαρ 2011, 10:30:13 ΜΜ
Όμορφα !!

Αυτό ακριβώς εννοούσα όταν αναφερόμουνα στην τεχνική της διαχείρησης πολλαπλών δεικτών σε άλλο θέμα (https://alkisg.mysch.gr/steki/index.php?topic=3724.msg38263#msg38263)

Ναι! Στην πραγματικότητα εσύ μου έδωσες το έναυσμα και όπως βλέπεις και από άλλα threads "το προχωράω"!  ;)
Τίτλος: Απ: 'Συνένωση' πινάκων
Αποστολή από: Sergio στις 07 Μαρ 2011, 10:50:46 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 07 Μαρ 2011, 10:46:32 ΜΜ
.. όπως βλέπεις και από άλλα threads "το προχωράω"!  ;)

Πώς μου ξέφυγαν και δεν τα  είδα;  Εγώ όλη μέρα μέσα είμαι και κάνω .. refresh.. για να δω αν έχει κάτι καινούργιο  ;D

Σε ποιά, σε ποιά ;;