Δημιουργήστε ένα πρόγραμμα που καθορίζει ένα σταθερό μεταβλητό μέγεθος για την αναδρομή , και ορίζει ένα πρωτότυπο για μια λειτουργία findMax :
# include const int SIZE = 10 ? int findMax ( int list [ ] , int current_index , int highest_index ) ? int main ( ) { } 2 Ορίστε τη λειτουργία findMax αφού η κύρια λειτουργία για να αναζητήσετε μια σειρά αναδρομικά για τη μέγιστη αξία . Αυτή η λειτουργία βήματα μέσω της συστοιχίας , συγκρίνει τιμές , και, τέλος, επιστρέφει το δείκτη του μεγαλύτερο ακέραιο : int main ( ) { } int findMax ( λίστα int [ ,"Af̱tí̱ i̱ leitourgía ví̱mata méso̱ ti̱s systoichías , synkrínei timés , kai, télos, epistréfei to deíkti̱ tou megalýtero akéraio :̱ int main ( ) { } int findMax ( lísta int [ ] , int current_index , int high_index ) { } Δημιουργήστε ένα αναδρομικό βασική περίπτωση στη λειτουργία findMax . Η δήλωση αυτή θα σταματήσει αναδρομή μόλις φτάσει στο τέλος της λίστας : int findMax ( int list [ ] , int current_index , int high_index ) { αν ( current_index == SIZE ) { επιστροφή high_index ? } } 4 Ορίστε την αναδρομική δράση αναζήτηση στη λειτουργία findMax . Οι if-else δηλώσεις πάντα θα υποστηρίζουν ότι high_index κατέχει το δείκτη του μεγαλύτερο ακέραιο στον κατάλογο : int findMax ( int list [ ] , int current_index , int high_index ) { αν ( current_index == SIZE ) { high_index επιστροφή? } else if ( list [ high_index ] <λίστα [ current_index ] ) {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , current_index ) ? } else { επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , high_index ) ? } } Ορίστε έναν πίνακα με ένα τυχαίο συνδυασμό των ακεραίων μέσα στην κύρια λειτουργία : int main ( ) { int arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } ? } κηρύξει έναν ακέραιο στο η κύρια λειτουργία , και να καλέσει τη λειτουργία findMax να ορίσετε την τιμή της εν λόγω ακέραιο το δείκτη του μεγαλύτερη τιμή στον κατάλογο : # include int const SIZE = 10 ? int findMax ( int list [ ] , int current_index , int highest_index ) ? int main ( ) { int arr [ 10 ] = { 3 , 2 , 6 , 7 , 10 , 45 , 8 , 99 , 0 , 11 } ? int μεγαλύτερες = findMax ( ARR , 0 , 0 ) ? } int findMax ( int list [ ] , int current_index , int high_index ) { αν ( current_index == SIZE ) { high_index επιστροφή? } else if ( list [ high_index ] <λίστα [ current_index ] ) {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , current_index ) ? } else {επιστροφή findMax (κατάλογος , (δείκτης + 1 ) , high_index ) ? } }
εικόνων 3
Η
5
Η 6
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα