Εμφάνιση στοιχείων διασδιάστατου πίνακα από ένα στοιχείο Α[α1,β1] μέχρι ένα επόμενο στοιχείο Α[α2,β2]

1η Λύση

ΠΡΟΓΡΑΜΜΑ ΣΑΡΩΣΗ_ΠΙΝΑΚΑ1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α1, Β1, Α2, Β2, Ι, Ξ, Α[3, 4]
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ Α[Ι, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ Α1, Β1             !υποθέτουμε ότι το δεύτερο στοιχείο
!βρίσκεται μετά το πρώτο μέσα στον πίνακα
ΔΙΑΒΑΣΕ Α2, Β2

ΑΝ Α1 = Α2 ΤΟΤΕ   ! αν τα στοιχεία βρίσκονται στην ίδια γραμμή
ΓΙΑ Ξ ΑΠΟ Β1 ΜΕΧΡΙ Β2
ΓΡΑΨΕ Α[Α1, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΛΛΙΩΣ       ! αν τα στοιχεία βρίσκονται σε διαφορετική γραμμή
ΓΙΑ Ξ ΑΠΟ Β1 ΜΕΧΡΙ 4
ΓΡΑΨΕ Α[Α1, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ Α1 + 1 ΜΕΧΡΙ Α2 - 1
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΓΡΑΨΕ Α[Ι, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ Β2
ΓΡΑΨΕ Α[Α2, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΑΡΩΣΗ_ΠΙΝΑΚΑ1

2η Λύση

ΠΡΟΓΡΑΜΜΑ ΣΑΡΩΣΗ_ΠΙΝΑΚΑ2 !για κάθε στοιχείο του πίνακα ελέγχει αν βρίσκεται
! μέσα στα όρια που θέλουμε

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ι, κ
ΠΡΑΓΜΑΤΙΚΕΣ: ΠΙΝ[3, 4], αποτελ
ΑΡΧΗ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ ΠΙΝ[ι, κ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΚΑΛΕΣΕ εμφ1(ΠΙΝ)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΣΑΡΩΣΗ_ΠΙΝΑΚΑ2

ΔΙΑΔΙΚΑΣΙΑ εμφ1(ΠΙΝ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: αρ1, αρ2, αρ3, αρ4, ι, κ, ψ, ξ
ΠΡΑΓΜΑΤΙΚΕΣ: ΠΙΝ[3, 4]
ΑΡΧΗ
ΔΙΑΒΑΣΕ αρ1, αρ2, αρ3, αρ4 !
αντί Α1, Β1, Α2, Β2
ΓΙΑ ψ ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΑΝ ψ = αρ1 ΚΑΙ ξ >= αρ2 ΚΑΙ αρ1 <> αρ3 ΤΟΤΕ
ΓΡΑΨΕ ΠΙΝ[αρ1, ξ]
ΑΛΛΙΩΣ_ΑΝ ψ <> αρ1 ΚΑΙ ψ <> αρ3 ΚΑΙ ψ > αρ1 ΚΑΙ ψ < αρ3 ΤΟΤΕ
ΓΡΑΨΕ ΠΙΝ[ψ, ξ]
ΑΛΛΙΩΣ_ΑΝ ψ = αρ3 ΚΑΙ ξ <= αρ4 ΚΑΙ αρ1 <> αρ3 ΤΟΤΕ
ΓΡΑΨΕ ΠΙΝ[αρ3, ξ]
ΑΛΛΙΩΣ_ΑΝ αρ1 = αρ3 ΚΑΙ ξ >= αρ2 ΚΑΙ ξ <= αρ4 ΚΑΙ ψ = αρ1 ΤΟΤΕ
ΓΡΑΨΕ ΠΙΝ[ψ, ξ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
εμφ1

3η Λύση

ΠΡΟΓΡΑΜΜΑ ΣΑΡΩΣΗ_ΠΙΝΑΚΑ3 !αντιμετωπίζει τον πίνακα σαν μονοδιάστατο

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[3, 4], Ι, Ξ, Α1, Β1, Α2, Β2, Κ, Λ, Χ
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 4
ΔΙΑΒΑΣΕ Α[Ι, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α1, Β1, Α2, Β2
Κ <- (Α1 - 1)*4 + Β1
Λ <- (Α2 - 1)*4 + Β2
ΓΙΑ Χ ΑΠΟ Κ ΜΕΧΡΙ Λ
Ι <- (Χ - 1) div 4 + 1
Ξ <- Χ mod 4
ΑΝ Ξ = 0 ΤΟΤΕ
Ξ <- 4
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ Α[Ι, Ξ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΣΑΡΩΣΗ_ΠΙΝΑΚΑ3

Αφήστε μια απάντηση