Γενικό Λύκειο > Μονοδιάστατοι πίνακες

Μέσος όρος 100 αριθμών με περιορισμούς

(1/3) > >>

bugman:
Είναι εύκολο να βγάλει κανείς τον μέσο όρο 100 αριθμών, αλλά όχι αν υπάρχουν περιορισμοί!

Ζητάμε ένα πρόγραμμα σε ΓΛΩΣΣΑ όπου θα διαβάζει εκατό πραγματικούς αριθμούς, και αφού διαγράψει τους τρεις μεγαλύτερους και τους τρεις μικρότερους θα βγάζει τον μέσο όρο από τους υπόλοιπους 94 αριθμούς. Το προγραμματιστικό περιβάλλον, της άσκησης, δεν υποστηρίζει πίνακες, έτσι η κωδικοποίηση σε ΓΛΩΣΣΑ θα πρέπει να μην περιέχει πίνακες, και η διαδικασία να γίνεται με ένα πέρασμα. Οι αριθμοί στο άθροισμά τους δεν ξεπερνούν τα όρια των πραγματικών.

methenitis:
Προχειρα αυτό σκέφτηκα.
Η λογική πάντως δυο μεγαλύτερων αριθμών (χωρίς πίνακα) έχει μπει σε επαναληπτικές πανελλήνιες. Ασκηση με σκληρό δίσκο και αρχεία που αποθηκεύονται και ζητούσε , αν θυμάμαι καλά, τα δύο μεγαλύτερα αρχεία.

σ←0
Για ι απο 1 μεχρι 100
   διαβασε χ
   σ←σ+χ
   αν ι =1 τοτε
      μαχ1←χ
      μαχ2←χ
      μαχ3←χ
      μιν1←χ
      μιν2←χ
      μιν3←χ
   τελος_αν
   Αν χ>μαχ1 τοτε
      μαχ3←μαχ2
      μαχ2←μαχ1
      μαχ1←χ
   αλλιως_αν χ>μαχ2 τοτε
      μαχ3←μαχ2
      μαχ2←χ
   αλλιως_αν χ>μαχ3 τοτε
      μαχ3←χ
   τελος_αν
   Αν χ<μιν1 τοτε
      μιν3←μιν2
      μιν2←μιν1
      μιν1←χ
   αλλιως_αν χ<μιν2 τοτε
      μιν3←μιν2
      μιν2←χ
   αλλιως_αν χ<μιν3 τοτε
      μιν3←χ
   τελος_αν
τελος_επαναληψης
κ←(σ-(μαχ1+μαχ2+μαχ3+μιν1+μιν2+μιν3))/94
γραψε κ

bugman:
Είναι πιο δύσκολο απ' ότι φαίνεται. Ασφαλώς η λύση σου είναι λάθος. Ας δούμε και άλλες λύσεις.

ikariofil:
διαβασε χ1, χ2, χ3
Αν χ1>χ2 και χ1>χ3 τότε
    μαχ1←χ1
    Αν χ2>χ3 τότε
        μαχ2←χ2
        μαχ3←χ3
    Αλλιώς
        μαχ2←χ3
        μαχ3←χ2
    Τέλος_αν
Αλλιώς_Αν χ2>χ1 και χ2>χ3 τότε
    μαχ1←χ2
    Αν χ1>χ3 τότε
        μαχ2←χ1
        μαχ3←χ3
    Αλλιώς
        μαχ2←χ3
        μαχ3←χ1
    Τέλος_αν
Αλλιώς
    μαχ1←χ3
    Αν χ1>χ2 τότε
        μαχ2←χ1
        μαχ3←χ2
    Αλλιώς
        μαχ2←χ2
        μαχ3←χ1
    Τέλος_αν
Τέλος_αν
Αν χ1<χ2 και χ1<χ3 τότε
    μιν1←χ1
    Αν χ2<χ3 τότε
        μιν2←χ2
        μιν3←χ3
    Αλλιώς
        μιν2←χ3
        μιν3←χ2
    Τέλος_αν
Αλλιώς_Αν χ2<χ1 και χ2<χ3 τότε
    μιν1←χ2
    Αν χ1<χ3 τότε
        μιν2←χ1
        μιν3←χ3
    Αλλιώς
        μιν2←χ3
        μιν3←χ1
    Τέλος_αν
Αλλιώς
    μιν1←χ3
    Αν χ1<χ2 τότε
        μιν2←χ1
        μιν3←χ2
    Αλλιώς
        μιν2←χ2
        μιν3←χ1
    Τέλος_αν
Τέλος_αν
σ←χ1+χ2+χ3
Για ι απο 4 μεχρι 100
   διαβασε χ
   σ←σ+χ
   Αν χ>μαχ1 τοτε
      μαχ3←μαχ2
      μαχ2←μαχ1
      μαχ1←χ
   αλλιως_αν χ>μαχ2 τοτε
      μαχ3←μαχ2
      μαχ2←χ
   αλλιως_αν χ>μαχ3 τοτε
      μαχ3←χ
   τελος_αν
   Αν χ<μιν1 τοτε
      μιν3←μιν2
      μιν2←μιν1
      μιν1←χ
   αλλιως_αν χ<μιν2 τοτε
      μιν3←μιν2
      μιν2←χ
   αλλιως_αν χ<μιν3 τοτε
      μιν3←χ
   τελος_αν
τελος_επαναληψης
κ←(σ-(μαχ1+μαχ2+μαχ3+μιν1+μιν2+μιν3)) / 94
γραψε κ

methenitis:

--- Παράθεση από: bugman στις 20 Μαρ 2019, 01:28:53 μμ ---Είναι πιο δύσκολο απ' ότι φαίνεται. Ασφαλώς η λύση σου είναι λάθος. Ας δούμε και άλλες λύσεις.

--- Τέλος παράθεσης ---

Μάλλον δεν έχω καταλάβει καλά. Το έτρεξα για 20 αριθμούς και δεν είδα κάτι λάθος.

Υπάρχει κάτι που χάνω?? Στην εκφώνηση εννοώ.

υ.γ. Ειχα ξεχάσει να διαιρέσω για το μο αλλά δεν νομίζω να αναφέρεσαι σε αυτο.

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση