hchat Δημοσ. 29 Μαΐου 2010 Δημοσ. 29 Μαΐου 2010 Καλησπερα παιδιά. Ειμαι νέος στον χώρο του προγραμματισμου και στην c++ και θα ήθελα να κάνω μια ερώτηση. Πώς μπορουμε απο 4 αριθμους (integer) να κανει ελεγχο ποιοι ειναι οι 2 μεγαλυτεροι απο τους 4 και να τους εμφανιζω στον χρηστη? ευχαριστω προκαταβολικα...
macabre_sunsets Δημοσ. 29 Μαΐου 2010 Δημοσ. 29 Μαΐου 2010 Μια απλή λύση είναι να βάλεις τους αριθμούς σε ένα πίνακα, να ταξινομήσεις τον πίνακα κατα φθίνουσα σειρά και να πάρεις τις 2 πρώτες τιμές. Μια άλλη λύση είναι να εφαρμόσεις έναν αλγόριθμο εύρεσης μεγίστου 2 φορές, μια για 4 στοιχεία και μια για τα υπόλοια 3.
hchat Δημοσ. 29 Μαΐου 2010 Μέλος Δημοσ. 29 Μαΐου 2010 Μια απλή λύση είναι να βάλεις τους αριθμούς σε ένα πίνακα, να ταξινομήσεις τον πίνακα κατα φθίνουσα σειρά και να πάρεις τις 2 πρώτες τιμές. Μια άλλη λύση είναι να εφαρμόσεις έναν αλγόριθμο εύρεσης μεγίστου 2 φορές, μια για 4 στοιχεία και μια για τα υπόλοια 3. Επειδη ακόμα είμαι νεος πολυ ατον προγραμματισμο δεν εχω φτάσει εκει που πρεπει σε γνωσεις και εντολες,αλλα παρ ολα αυτα θα ψαξω πως γινεται και θα το κανω. Ευχαριστω για την βοηθεια φιλε μου
yourse.gr Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Η μπορείς απλά να μετατρέψεις τον κλασικό αλγόριθμο μεγίστου να βρίσκει τα δύο πρώτα μέγιστα με πολυπλοκότητα Ν και όχι 2Ν ( όχι οτι έχει διαφορά και τα δύο Ν θεωρούνται ) > [b]αριθμος[/b] πινακας[Α] = {3,50,800,1, ... , 336783} // μέγεθος Ν [b]αριθμος[/b] μεγιστος1=πινακας[0],μεγιστος2=πινακας[1]; [i]Για[/i] [b]αριθμος[/b] χ [i]απο[/i] 2 [i]εως[/i] Ν-1 [i]Αν[/i] πινακας[χ]>μεγιστος1 [i]τοτε[/i] [i]Αν[/i] μέγιστος2>μεγιστος1 [i]τότε[/i] μεγιστος1 = πινακας[χ]; [i]Αλλιώς[/i] μεγιστος2 = μεγιστος1; μεγιστος1 = πίνακας[χ]; [i]Αλλιώς_Αν[/i] πίνακας[χ]>μεγιστος2 [i]τότε[/i] μεγιστος2 = πίνακας[χ];
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.