Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας παιδιά,

Έχω μια άσκηση στην ψευδογλώσσα:

O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και  συνεχίζει να δέχεται μέχρι να δοθεί το 0 !!!
Να εμφανιστούν οι τρεις μεγαλύτεροι αριθμοί που δόθηκαν απο το χρήστη!!


Υ.Γ. Δε πρέπει να γίνει με πίνακες!! Μόνο με ακολουθίας, επιλογής  και επανάληψης!!


Σάς ευχαριστώ εκ των προτέρων :)

Δημοσ.

τι εχεις φτιαξει μεχρι τωρα??

Έχω φτιάξει πολλές παραλλαγές αλλά καμία δεν μου βγαίνει!!

1)Χρησιμοποίησα μία Όσο χ<>0 επανάλαβε όπου χ είχα διαβάσει από έξω από την όσο (δηλαδή ο πρώτος αριθμός που δέχεται)

2)Χρησιμοποίησα μία ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και διάβασα Χ,Υ,Ω (οι τρεις αριθμοί που αναγκαστικά δέχεται)

ΤΟ θέμα είναι ότι δεν ξέρω τι εντολές να βάλλω μέσα ώστε να τις κρατήσει σίγουρα πρέπει να χρησιμοποιήσω max αλλά 3 max?? και πώς θα τα συνδέσω αφού θα χρειαστώ συνθήκες για επιλογή!!

 

Φίλε όπως καταλαβαίνεις έχω ξεμείνει από ιδέες!!

Δημοσ.

Εχεις 3 μεταβλητες max1, max2 max3 με αρχικες τιμες 0.

 

Αν ο αριθμός που διαβαζεις ειναι μεγαλύτερος απο την μικρότερη των 3 τον βαζεις σε αυτην.

Πρεπει συνεχεια να ξερεις το min( max1,max2, max3)

Δημοσ.

Εχεις 3 μεταβλητες max1, max2 max3 με αρχικες τιμες 0.

 

Αν ο αριθμός που διαβαζεις ειναι μεγαλύτερος απο την μικρότερη των 3 τον βαζεις σε αυτην.

Πρεπει συνεχεια να ξερεις το min( max1,max2, max3)

Γιατί 0??? Και αν ολοι οι αριθμοι που βάλλει ειναι αρνητικοί??

  • Moderators
Δημοσ.

Εχεις 3 μεταβλητες max1, max2 max3 με αρχικες τιμες 0.

 

Αν ο αριθμός που διαβαζεις ειναι μεγαλύτερος απο την μικρότερη των 3 τον βαζεις σε αυτην.

Πρεπει συνεχεια να ξερεις το min( max1,max2, max3)

 

Και άμα ο χρήστης δώσει μόνο αρνητικούς;

 

Μπορείς να το κάνεις έτσι:

Στην αρχή, έχεις μια επανάληψη ΓΙΑ η οποία τρέχει 3 φορές και διαβάζει 3 αριθμούς. Βάζεις αυτούς τους αριθμούς στις max1,2,3 και στη συνέχεια αρχίζει η κύρια επανάληψη που τρέχει μέχρι ο χρήστης να δώσει 0. Κάθε φορά που διαβάζει έναν αριθμό ελέγχει τις max1,2,3 για να δει αν η νέα τιμή είναι μεγαλύτερη. Θα σου πρότεινα επίσης να ταξινομήσεις τις max1,2,3 (δηλαδή η max1 να έχει το μικρότερο "μεγαλύτερο", η max2 το μεσαίο και η max3 το μεγαλύτερο).

 

Αυτό το "όχι πίνακες" το λέει η άσκηση;

Δημοσ.

Δες τον αλγόριθμο που θα έγραφα εγώ

Διαβασε x;
max1=x; // το μεγαλύτερο από τα τρία max
max2=x; // το μεσαίο max
max3=x; // το μικρότερο από τα max

Όσο χ<>0 {
  Διάβασε χ;
  if(x>=max1) {
  max3=max2;
  max2=max1;
  max1=x;
  }  else if (x>=max2){
  max3=max2;
  max2=x;
  }   else if (x>=max3){
  max3=x;
  }
}
Edit: Όσο το έγραφα προστέθηκαν και άλλα ποστ, Ουσιαστικά είναι η λύση που είπε και ο @Kercyn
  • Like 1
Δημοσ.

Και άμα ο χρήστης δώσει μόνο αρνητικούς;

 

Μπορείς να το κάνεις έτσι:

Στην αρχή, έχεις μια επανάληψη ΓΙΑ η οποία τρέχει 3 φορές και διαβάζει 3 αριθμούς. Βάζεις αυτούς τους αριθμούς στις max1,2,3 και στη συνέχεια αρχίζει η κύρια επανάληψη που τρέχει μέχρι ο χρήστης να δώσει 0. Κάθε φορά που διαβάζει έναν αριθμό ελέγχει τις max1,2,3 για να δει αν η νέα τιμή είναι μεγαλύτερη. Θα σου πρότεινα επίσης να ταξινομήσεις τις max1,2,3 (δηλαδή η max1 να έχει το μικρότερο "μεγαλύτερο", η max2 το μεσαίο και η max3 το μεγαλύτερο).

 

Αυτό το "όχι πίνακες" το λέει η άσκηση;

Ωραίος ρε φίλε :) !!! Όσο για τους πίνακες ναι το λέει η ασκηση!!! :)

 

Δες τον αλγόριθμο που θα έγραφα εγώ

Διαβασε x;
max1=x; // το μεγαλύτερο από τα τρία max
max2=x; // το μεσαίο max
max3=x; // το μικρότερο από τα max

Όσο χ<>0 {
  Διάβασε χ;
  if(x>=max1) {
  max3=max2;
  max2=max1;
  max1=x;
  }  else if (x>=max2){
  max3=max2;
  max2=x;
  }   else if (x>=max3){
  max3=x;
  }
}

Σε ευχαριστώ πολύ :-D

 
  • Moderators
Δημοσ.

Πρόσεχε στη λύση που σου έδωσε ο Technology fan γιατί δε σου εγγυάται κανείς ότι το πρόγραμμά σου θα διαβάσει τουλάχιστον 3 αριθμούς. Δεν ξέρω πόσο αυστηρός είναι ο καθηγητής σου σε αυτά, απλώς έχε το υπ' όψη σου.

Δημοσ.

Πρόσεχε στη λύση που σου έδωσε ο Technology fan γιατί δε σου εγγυάται κανείς ότι το πρόγραμμά σου θα διαβάσει τουλάχιστον 3 αριθμούς. Δεν ξέρω πόσο αυστηρός είναι ο καθηγητής σου σε αυτά, απλώς έχε το υπ' όψη σου.

Βασικά δεν ξέρω αν έκανα λάθος σύμφωνα με τον τυπικο ορισμό της 'ψευδογλώσσας'. Υποτίθεται οτι διαβάζω ένα αριθμό και τον αναθέτω και στους 3...

  • Moderators
Δημοσ.

Βασικά δεν ξέρω αν έκανα λάθος σύμφωνα με τον τυπικο ορισμό της 'ψευδογλώσσας'. Υποτίθεται οτι διαβάζω ένα αριθμό και τον αναθέτω και στους 3...

 

"O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..."

 

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

Δημοσ.

"O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..."

 

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

Mην ανησυχείτε κατάλαβα πώς το έκανε!!! Απλά θα το εφαρμόσω έτσι όπως το θέλει ο καθηγητής μου :-D !!!!

Ευχαριστώ και πάλι και εσένα και τον Τechnology fan !!! :-)

Δημοσ.

"O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..."

 

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

 

σορρυ τώρα κατάλαβα τι εννούσες. Δίκιο έχεις... 

 

Mην ανησυχείτε κατάλαβα πώς το έκανε!!! Απλά θα το εφαρμόσω έτσι όπως το θέλει ο καθηγητής μου :-D !!!!

Ευχαριστώ και πάλι και εσένα και τον Τechnology fan !!! :-)

 

 

Το θέμα είναι να σου μείνει ο αλγόριθμος και όχι η απάντηση. Αυτό γεννά δυο ερωτήματα:

 

1) αν είχες πίνακα πως θα το έλυνες? ποιο εύκολο ή πιο δύσκολο?

2) αν έπρεπε να βρεις τους 10 μεγαλύτερους αριθμούς πως θα το έκανες με πίνακες. (στην γενική περίπτωση n μεγαλύτερους αριθμούς). Αν δεν έχεις πίνακα μπορείς να το κάνεις?

 

Αν δεν μπορείς να απαντήσεις στον εαυτό σου τα παραπάνω τότε υπάρχει πρόβλημα...

Δημοσ.

σορρυ τώρα κατάλαβα τι εννούσες. Δίκιο έχεις... 

 

 

 

Το θέμα είναι να σου μείνει ο αλγόριθμος και όχι η απάντηση. Αυτό γεννά δυο ερωτήματα:

 

1) αν είχες πίνακα πως θα το έλυνες? ποιο εύκολο ή πιο δύσκολο?

2) αν έπρεπε να βρεις τους 10 μεγαλύτερους αριθμούς πως θα το έκανες με πίνακες. (στην γενική περίπτωση n μεγαλύτερους αριθμούς). Αν δεν έχεις πίνακα μπορείς να το κάνεις?

 

Αν δεν μπορείς να απαντήσεις στον εαυτό σου τα παραπάνω τότε υπάρχει πρόβλημα...

Εννοείται ότι θέλω να μου μείνει ο τρόπος σκέψης και όχι η απάντηση ως απάντηση!! Απλά επειδή είχα τα δεδομένα και δεν ήξερα πως να τα συνδιάσω για αυτό ρώτησα :-) !!! Αλλιώς κακό στον εαυτό μου θα έκανα!! Όσο για πινακες δεν έχουμε κάνει ακόμα αλλά ξέρω κάτι ψηλά οπότε πιστεύω ότι αν διάβαζα και τους πίνακες θα το έβγαζα!!!

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...