Αποστολέας Θέμα: Έλεγχος διαφορετικών αριθμητικών δεδομένων σε πίνακα και ταξινομημενα  (Αναγνώστηκε 1108 φορές)

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Ξέρω πως έχει ξανασυζητηθεί το θέμα αλλά θέλησα να το επεκτείνω λίγο.
Ελέγχω τα στοιχεία ενός πίνακα Ν θέσεων, να είναι διαφορετικά και επίσης ταξινομημένα σε αύξουσα σειρά. Αν για παράδειγμα έχει μπεί ως τιμή το 5 να μη μπορεί να ξαναμπεί στα υπόλοιπα και το προηγούμενο να είναι μικρότερο από το επόμενο.
Οπότε:

Για i από 1 μέχρι Ν
  Αν i = 1 τότε
    Εμφάνισε "Δώσε το ", i, "ο στοιχείο του πίνακα"
    Διάβασε Π[ i ] 
  αλλιώς
    μήνυμα ← Ψευδής
    Αρχή_επανάληψης
      flag ← Ψευδής
      Αν μήνυμα = Ψευδής τότε
        Εμφάνισε "Δώσε το ", i, "ο στοιχείο του πίνακα"
        μήνυμα ← Αληθής
      Τέλος_αν
      Διάβασε Π[ i ]
      j ← 1
      flag2 ← Ψευδής
      flag3 ← Ψευδής
      Όσο j ≤ i - 1 και flag = Ψευδής επανάλαβε
        Αν Π[ j ] = Π[ i ] τότε
          flag ← Αληθής
        Τέλος_αν
        j ← j + 1
      Τέλος_επανάληψης
      Αν Π[ i - 1 ] > Π [ i ] και flag = Αληθής και flag2 = Αληθής και flag3 = Αληθής τότε
        Εμφάνισε "Δε με καταλαβαίνεις. Μαντάρα τα έκανες. Δώσε γρήγορα άλλο αριθμό μεγαλύτερο και διαφορετικό από τα προηγούμενα"
      Τέλος_αν
      Αν flag = Αληθής τότε
        Εμφάνισε "Το ξαναέδωσες. Δώσε άλλο"
        flag2 ← Αληθής
      Τέλος_αν
      Αν Π[ i - 1 ] > Π[ i ] και flag3 = Ψευδής και flag2 = Ψευδής τότε
        Εμφάνισε "Δώσε στοιχείο μεγαλύτερο από το προηγούμενο"
        flag3 ← Αληθής
      Τέλος_αν
    Μέχρις_ότου flag = Ψευδής και Π[ i - 1 ] < Π[ i ]
  Τέλος_αν
Τέλος_επανάληψης

Πολλές χαζαμάρες, το καταλαβαίνω.
Αλλά κάποιος να βοηθήσει στα μηνύματα εξόδου γιατί σε λίγο δε θα μείνει κανένα πλήκτρο στο πληκτρολόγιο.  Τί κάνω λάθος και δεν βγαίνουν με τη σωστή σειρά;
« Τελευταία τροποποίηση: 19 Ιαν 2013, 03:52:48 πμ από nikolasmer »
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής