Αποστολέας Θέμα: Θα ήθελα αν μπορεί κανείς να με βοηθήσει σε μια άσκηση...ευχαριστώ πολύ  (Αναγνώστηκε 5658 φορές)

Wizard

  • Επισκέπτης
Μάλλον η λύση με την ταξινόμηση είναι πιο κομψή
(ή η εκφώνηση το παρακάνει ζητώντας τα max για όλες τις κατηγορίες παικτών  :D

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

jgalano

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 46
και για πολλούς στην ίδια θέση,που θέλει ο φίλος Νίκος,
Κώδικας: [Επιλογή]
Αλγόριθμος ΟΜΑΔΑ
Δεδομένα //Ο,Θ,Λ //
max1<-0
max2<-0
max3<-0
max4<-0
Για i από 1 μέχρι 22
Aν Λ[i]>max1 KAI Θ[i]=’Ε’ τότε
max1<- Λ[i]
Αλλιώς_Aν Λ[i]>max2 KAI Θ[i]=’Α’ τότε
max2<- Λ[i]
Αλλιώς_Aν Λ[i]>max3 KAI Θ[i]=’Κ’ τότε
max3<- Λ[i]
Αλλιώς_Aν Λ[i]>max4 KAI Θ[i]=’Τ’ τότε
max4<- Λ[i]
Τέλος_Αν
Τέλος_Επανάληψης
Για i από 1 μέχρι 22
Aν Λ[i]=max1 KAI Θ[i]=’Ε’ τότε
Εκτύπωσε Ο[i], ’E’
        Αλλιώς_Aν Λ[i]=max2 KAI Θ[i]=’Α’ τότε
Εκτύπωσε Ο[i],’Α’
Αλλιώς_Aν Λ[i]=max3 KAI Θ[i]=’Κ’ τότε
Εκτύπωσε Ο[i],’K’
Αλλιώς_Aν Λ[i]=max4 KAI Θ[i]=’Τ’ τότε
Εκτύπωσε Ο[i],’T’
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος ΟΜΑΔΑ


Αλγόριθμος ΟΜΑΔΑ
Δεδομένα //Ο,Θ,Λ //
ΘΕΣΗ[1]<-‘Ε’
ΘΕΣΗ[2]<-’Α’
ΘΕΣΗ[3]<-’Κ’
ΘΕΣΗ[4]<-’Τ’
Για i από 1 μέχρι 4
max<-0
Για j από 1 μέχρι 22
Aν Λ[j]>max ΚΑΙ Θ[j]=ΘΕΣΗ[i]τότε
       max<- Λ[j]
        Τέλος_Αν
Τέλος_Επανάληψης
     Εκτύπωσε ΘΕΣΗ[i]
Για j από 1 μέχρι 22
Aν Λ[j]=max ΚΑΙ Θ[j]=ΘΕΣΗ[i]τότε
Εκτύπωσε Ο[j]
Τέλος_Αν
    Τέλος_Επανάληψης
Τέλος_Επανάληψης
Τέλος ΟΜΑΔΑ

« Τελευταία τροποποίηση: 11 Μάι 2009, 05:09:35 μμ από jgalano »

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2812
  • Πύργος Ηλείας
και για πολλούς στην ίδια θέση,που θέλει ο φίλος Νίκος,
Κώδικας: [Επιλογή]
Αλγόριθμος ΟΜΑΔΑ
Δεδομένα //Ο,Θ,Λ //
max1<-0
max2<-0
max3<-0
max4<-0
Για i από 1 μέχρι 22
Aν Λ[i]>max1 KAI Θ[i]=’Ε’ τότε
max1<- Λ[i]
Αλλιώς_Aν Λ[i]>max2 KAI Θ[i]=’Α’ τότε
max2<- Λ[i]
Αλλιώς_Aν Λ[i]>max3 KAI Θ[i]=’Κ’ τότε
max3<- Λ[i]
Αλλιώς_Aν Λ[i]>max4 KAI Θ[i]=’Τ’ τότε
max4<- Λ[i]
Τέλος_Αν
Τέλος_Επανάληψης
Για i από 1 μέχρι 22
Aν Λ[i]=max1 KAI Θ[i]=’Ε’ τότε
Εκτύπωσε Ο[i], ’E’
        Αλλιώς_Aν Λ[i]=max2 KAI Θ[i]=’Α’ τότε
Εκτύπωσε Ο[i],’Α’
Αλλιώς_Aν Λ[i]=max3 KAI Θ[i]=’Κ’ τότε
Εκτύπωσε Ο[i],’K’
Αλλιώς_Aν Λ[i]=max4 KAI Θ[i]=’Τ’ τότε
Εκτύπωσε Ο[i],’T’
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος ΟΜΑΔΑ


Αλγόριθμος ΟΜΑΔΑ
Δεδομένα //Ο,Θ,Λ //
ΘΕΣΗ[1]<-‘Ε’
ΘΕΣΗ[2]<-’Α’
ΘΕΣΗ[3]<-’Κ’
ΘΕΣΗ[4]<-’Τ’
Για i από 1 μέχρι 4
max<-0
Για j από 1 μέχρι 22
Aν Λ[j]>max ΚΑΙ Θ[j]=ΘΕΣΗ[i]τότε
max<- Λ[j]
Τέλος_Αν
Εκτύπωσε ΘΕΣΗ[i]
Για j από 1 μέχρι 22
Aν Λ[j]=max ΚΑΙ Θ[j]=ΘΕΣΗ[i]τότε
Εκτύπωσε Ο[j]
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος ΟΜΑΔΑ


Βέβαια τώρα στην πρώτη λύση οι παίχτες εμφανίζονται λίγο ανακατωτά σε σχέση με τη θέση, όχι ότι είναι λάθος όμως αφού εμφανίζεται κάθε φορά και η θέση στην οποία παίζουν...

Στη δεύτερη λύση (όπως και στη δεύτερη λύση της αρχικής εκδοχής) παρατήρησα ότι δεν βάζεις Τέλος_επανάληψης στις εντολές Για... που έχουν μόνο μία Αν...Τελος_αν. Το έχεις ξεχάσει; Ή δεν το βάζεις επειδή θεωρείς ότι δεν χρειάζεται αφού η Για... περιέχει μόνο μία εντολή (και για αυτό βάζεις το Τέλος_αν αριστερότερα); Αν ισχύει το δεύτερο τότε δεν νομίζω ότι είναι σωστό, ασχέτως αν γίνεται σε κάποιες γλώσσες...

jgalano

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 46
Κεκτημένη ταχύτητα Νίκο, διορθώθηκε !

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2812
  • Πύργος Ηλείας
Κεκτημένη ταχύτητα Νίκο, διορθώθηκε !

Αυτό το θέμα αποδείχθηκε στοιχειωμένο! Ελπίζω να μη μου βγάλετε τη φήμη του γκαντέμη  :)