eaglej Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Καλησπέρα σας παιδιά,Έχω μια άσκηση στην ψευδογλώσσα:O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και συνεχίζει να δέχεται μέχρι να δοθεί το 0 !!!Να εμφανιστούν οι τρεις μεγαλύτεροι αριθμοί που δόθηκαν απο το χρήστη!!Υ.Γ. Δε πρέπει να γίνει με πίνακες!! Μόνο με ακολουθίας, επιλογής και επανάληψης!!Σάς ευχαριστώ εκ των προτέρων
eaglej Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 τι εχεις φτιαξει μεχρι τωρα?? Έχω φτιάξει πολλές παραλλαγές αλλά καμία δεν μου βγαίνει!! 1)Χρησιμοποίησα μία Όσο χ<>0 επανάλαβε όπου χ είχα διαβάσει από έξω από την όσο (δηλαδή ο πρώτος αριθμός που δέχεται) 2)Χρησιμοποίησα μία ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και διάβασα Χ,Υ,Ω (οι τρεις αριθμοί που αναγκαστικά δέχεται) ΤΟ θέμα είναι ότι δεν ξέρω τι εντολές να βάλλω μέσα ώστε να τις κρατήσει σίγουρα πρέπει να χρησιμοποιήσω max αλλά 3 max?? και πώς θα τα συνδέσω αφού θα χρειαστώ συνθήκες για επιλογή!! Φίλε όπως καταλαβαίνεις έχω ξεμείνει από ιδέες!!
albNik Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Εχεις 3 μεταβλητες max1, max2 max3 με αρχικες τιμες 0. Αν ο αριθμός που διαβαζεις ειναι μεγαλύτερος απο την μικρότερη των 3 τον βαζεις σε αυτην. Πρεπει συνεχεια να ξερεις το min( max1,max2, max3)
eaglej Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 Εχεις 3 μεταβλητες max1, max2 max3 με αρχικες τιμες 0. Αν ο αριθμός που διαβαζεις ειναι μεγαλύτερος απο την μικρότερη των 3 τον βαζεις σε αυτην. Πρεπει συνεχεια να ξερεις το min( max1,max2, max3) Γιατί 0??? Και αν ολοι οι αριθμοι που βάλλει ειναι αρνητικοί??
Moderators Kercyn Δημοσ. 28 Δεκεμβρίου 2013 Moderators Δημοσ. 28 Δεκεμβρίου 2013 Εχεις 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 το μεγαλύτερο). Αυτό το "όχι πίνακες" το λέει η άσκηση;
Technology fan Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Δες τον αλγόριθμο που θα έγραφα εγώ Διαβασε 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 1
eaglej Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 Και άμα ο χρήστης δώσει μόνο αρνητικούς; Μπορείς να το κάνεις έτσι: Στην αρχή, έχεις μια επανάληψη ΓΙΑ η οποία τρέχει 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; } } Σε ευχαριστώ πολύ
Moderators Kercyn Δημοσ. 28 Δεκεμβρίου 2013 Moderators Δημοσ. 28 Δεκεμβρίου 2013 Πρόσεχε στη λύση που σου έδωσε ο Technology fan γιατί δε σου εγγυάται κανείς ότι το πρόγραμμά σου θα διαβάσει τουλάχιστον 3 αριθμούς. Δεν ξέρω πόσο αυστηρός είναι ο καθηγητής σου σε αυτά, απλώς έχε το υπ' όψη σου.
Technology fan Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Πρόσεχε στη λύση που σου έδωσε ο Technology fan γιατί δε σου εγγυάται κανείς ότι το πρόγραμμά σου θα διαβάσει τουλάχιστον 3 αριθμούς. Δεν ξέρω πόσο αυστηρός είναι ο καθηγητής σου σε αυτά, απλώς έχε το υπ' όψη σου. Βασικά δεν ξέρω αν έκανα λάθος σύμφωνα με τον τυπικο ορισμό της 'ψευδογλώσσας'. Υποτίθεται οτι διαβάζω ένα αριθμό και τον αναθέτω και στους 3...
Moderators Kercyn Δημοσ. 28 Δεκεμβρίου 2013 Moderators Δημοσ. 28 Δεκεμβρίου 2013 Βασικά δεν ξέρω αν έκανα λάθος σύμφωνα με τον τυπικο ορισμό της 'ψευδογλώσσας'. Υποτίθεται οτι διαβάζω ένα αριθμό και τον αναθέτω και στους 3... "O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..." Μα δεν είπα ότι η λύση σου είναι λάθος, απλώς επεσήμανα κάτι που ίσως δεν είχες σκεφτεί. Επειδή έχω χάσει ολόκληρο θέμα εξ' αιτίας μιας τέτοιας παράλειψης, δεν ξέρω αν ο καθηγητής του eaglej μπορεί να του κόψει την άσκηση από κάτι τέτοιο, γι' αυτό και το είπα.
eaglej Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 "O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..." Μα δεν είπα ότι η λύση σου είναι λάθος, απλώς επεσήμανα κάτι που ίσως δεν είχες σκεφτεί. Επειδή έχω χάσει ολόκληρο θέμα εξ' αιτίας μιας τέτοιας παράλειψης, δεν ξέρω αν ο καθηγητής του eaglej μπορεί να του κόψει την άσκηση από κάτι τέτοιο, γι' αυτό και το είπα. Mην ανησυχείτε κατάλαβα πώς το έκανε!!! Απλά θα το εφαρμόσω έτσι όπως το θέλει ο καθηγητής μου !!!! Ευχαριστώ και πάλι και εσένα και τον Τechnology fan !!!
Technology fan Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 "O υπολογιστής δέχεται τουλάχιστον τρεις αριθμούς και..." Μα δεν είπα ότι η λύση σου είναι λάθος, απλώς επεσήμανα κάτι που ίσως δεν είχες σκεφτεί. Επειδή έχω χάσει ολόκληρο θέμα εξ' αιτίας μιας τέτοιας παράλειψης, δεν ξέρω αν ο καθηγητής του eaglej μπορεί να του κόψει την άσκηση από κάτι τέτοιο, γι' αυτό και το είπα. σορρυ τώρα κατάλαβα τι εννούσες. Δίκιο έχεις... Mην ανησυχείτε κατάλαβα πώς το έκανε!!! Απλά θα το εφαρμόσω έτσι όπως το θέλει ο καθηγητής μου !!!! Ευχαριστώ και πάλι και εσένα και τον Τechnology fan !!! Το θέμα είναι να σου μείνει ο αλγόριθμος και όχι η απάντηση. Αυτό γεννά δυο ερωτήματα: 1) αν είχες πίνακα πως θα το έλυνες? ποιο εύκολο ή πιο δύσκολο? 2) αν έπρεπε να βρεις τους 10 μεγαλύτερους αριθμούς πως θα το έκανες με πίνακες. (στην γενική περίπτωση n μεγαλύτερους αριθμούς). Αν δεν έχεις πίνακα μπορείς να το κάνεις? Αν δεν μπορείς να απαντήσεις στον εαυτό σου τα παραπάνω τότε υπάρχει πρόβλημα...
eaglej Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 σορρυ τώρα κατάλαβα τι εννούσες. Δίκιο έχεις... Το θέμα είναι να σου μείνει ο αλγόριθμος και όχι η απάντηση. Αυτό γεννά δυο ερωτήματα: 1) αν είχες πίνακα πως θα το έλυνες? ποιο εύκολο ή πιο δύσκολο? 2) αν έπρεπε να βρεις τους 10 μεγαλύτερους αριθμούς πως θα το έκανες με πίνακες. (στην γενική περίπτωση n μεγαλύτερους αριθμούς). Αν δεν έχεις πίνακα μπορείς να το κάνεις? Αν δεν μπορείς να απαντήσεις στον εαυτό σου τα παραπάνω τότε υπάρχει πρόβλημα... Εννοείται ότι θέλω να μου μείνει ο τρόπος σκέψης και όχι η απάντηση ως απάντηση!! Απλά επειδή είχα τα δεδομένα και δεν ήξερα πως να τα συνδιάσω για αυτό ρώτησα !!! Αλλιώς κακό στον εαυτό μου θα έκανα!! Όσο για πινακες δεν έχουμε κάνει ακόμα αλλά ξέρω κάτι ψηλά οπότε πιστεύω ότι αν διάβαζα και τους πίνακες θα το έβγαζα!!! 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα