Οι τρείς μεγαλύτεροι (ή μικρότεροι)

Ξεκίνησε από nikolasmer, 19 Οκτ 2013, 08:40:26 ΜΜ

« προηγούμενο - επόμενο »

ikariofil

Για θετικούς αριθμούς

Αλγόριθμος μαχ_για_τρεις
μαχ1 ← 0
μαχ2 ← 0
μαχ3 ← 0
Για ι από 1 μέχρι 10
  Διάβασε χ
  Αν χ > μαχ1 τότε
    μαχ3 ← μαχ2
    μαχ2 ← μαχ1
    μαχ1 ← χ
  αλλιώς_αν χ > μαχ2 τότε
    μαχ3 ← μαχ2
    μαχ2 ← χ
  αλλιώς_αν χ > μαχ3 τότε
    μαχ3 ← χ
  Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε μαχ1, μαχ2, μαχ3
Τέλος μαχ_για_τρεις

nikolasmer

Με πρόλαβαν οι συνάδελφοι. Και οι δυο λύσεις είναι τέλειες. Αυτή που είχα παραθέσει δεν δουλεύει και τόσο καλά.
Ευχαριστώ και γω όλους σας.
Καλό βράδυ.
Μερεντίτης Νικόλαος
Πληροφορικός

itt

Αλλά γιατί αφού ξέρεις το μέγεθος του πίνακα, να τον αποφύγεις. Δεν δαγκώνουν.

nikolasmer

Παράθεση από: itt στις 10 Ιαν 2014, 11:54:10 ΜΜ
Αλλά γιατί αφού ξέρεις το μέγεθος του πίνακα, να τον αποφύγεις. Δεν δαγκώνουν.
;D
+1
Μερεντίτης Νικόλαος
Πληροφορικός

elepap

Ναι το ξέρω ότι με πίνακες λύνεται τσακ μπαμ, αλλά υπήρχε απορία από ένα παιδί και ήθελα λίγο να το δω και με αυτό τον τρόπο.
Ευχαριστώ

danaos75

Επειδή μας παίδεψε με έναν μαθητή μου μία άσκηση που του έδωσαν στο σχολείο
βρήκα αυτή την λύση που δουλεύει και για θετικούς και για αρνητικούς.
τα 2 τελευταία "αλλιώς_αν" είναι για να καλύψουν ακριβώς την περίπτωση
που αναφέρει ο/η συνάδελφος elepap "Σε περίπτωση που κάποιος εισάγει από την πρώτη
επανάληψη τον μεγαλύτερο βαθμό τότε θα εμφανίσει και τους 3 ίδιους"
Ενώ το "Αν Ν <> Μεγ1 και Ν <> Μεγ2 και Ν <> Μεγ3 τότε" είναι για να καλύψει
την περίπτωση να δωθει ξανα ένας αριθμός που είναι ήδη καταχωρημένος σαν π.χ. Μεγ1
και να αλλάξει την μετάβλητη Μεγ2 (π.χ. στην περίπτωση της εισαγωγής των 20,15,16,20)
στον αλγόριθμο των φίλων ikariofil και Αποστολάκη θα αλλάξει την μαχ2 σε 20 ενώ θα έπρεπε να παραμείνει 16.
Άρα αν μία τιμή έχει ήδη καταχωρηθεί σαν ενα απο τα μέγιστα τότε μην ασχοληθεις καθόλου.

Αλγόριθμος Ασκ3οΜεγ
Διάβασε Ν
Μεγ1 ←  Ν
Μεγ2 ←  Ν
Μεγ3 ←  Ν
Για χ από 2 μέχρι 100
   Διάβασε Ν
   Αν Ν <> Μεγ1 και Ν <> Μεγ2 και Ν <> Μεγ3 τότε
      Αν Μεγ1 < Ν τότε
         Μεγ3 ←  Μεγ2
         Μεγ2 ←  Μεγ1
         Μεγ1 ←  Ν
      αλλιώς_αν Μεγ2 < Ν τότε
         Μεγ3 ←  Μεγ2
         Μεγ2 ←  Ν
      αλλιώς_αν Μεγ3 < Ν τότε
         Μεγ3 ←  Ν
      αλλιώς_αν Μεγ1 = Μεγ2 τότε
         Μεγ3 ←  Ν
         Μεγ2 ←  Ν
      αλλιώς_αν Μεγ2 = Μεγ3 τότε
         Μεγ3 ←  Ν
       Τέλος_αν             
    Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε Μεγ1, Μεγ2, Μεγ3
Τέλος Ασκ3οΜεγ

Ελπίζω να βοήθησα έχετε ένα ΚΑΤΑΠΛΗΚΤΙΚΟ FORUM. Κρίμα για την ΑΕΠΠ.