Jump to content

Ερωτηση στην Aναδρομη !!


Recommended Posts

Παιδια εχω κολλησει σε ενα σημειο στην C ...

1)Το προγραμμα θα ζηταει απο το χρηστη να δωσει τα στοιχεια μιας λιστας ακεραιων

2)Μια αναδρομικη συναρτηση που να τυπωνει εντος της μεθοδου και να επιστρεφει (δηλαδή με

εντολη return) ποσοι περιττοι αριθμοι ειναι αποθηκευμενοι στη λιστα.

π.χ δινω αρι8μο ακεραιων 5

1 2 4 5 6

Αρα εχουμε 2 περιττους αριθμους το 1 και 5

Εχω υλοποιησει το ερωτημα 1) , τωρα εχω κολλησει στην αναδρομη και στον ελεγχο για το συνολο των περιττων αριθμων ... Λιγη βοηθεια με την αναδρομη !!

Link to comment
Share on other sites

Καλησπέρα.

Αν σκεφτείς ότι για τον έλεγχο εμφάνισης περιττού αριθμού, πρέπει να χρησιμοποιήσεις τον τελεστή modulo και συγκεκριμένα τον έλεγχο if i%2=1, τότε έχει λυθεί το πρόβλημα.

Σημείωση

Όπου i ο εκάστοτε αριθμός που ελέγχεται από το loop.

Link to comment
Share on other sites

Oκ λυθηκε το θεμα δεν ηταν κατι δυσκολο τελικα ...

Τωρα ασχολουμαι με μια αλλη ασκηση στη c θα δωσω ενα παραδειγμα για να το καταλαβετε απευθειας και εχεις παλι σχεση με αναδρομη ...

Εχω π.χ τους αριθμους

5 4 1 4 3

και θελω να γράψω μία ΑΝΑΔΡΟΜΙΚΗ συνάρτηση που να ελέγχει εάν σε ένα πίνακα ακεραίων τα αθροί-

σματα στοιχείων κατοπτρικών ζευγών είναι όλα ίσα δηλαδη

κατοπτρικο ζευγος ειναι ειναι 5 + 3= 8 και 4 + 4=8

ουσιαστικα ειναι Α[0] + Α[4] = Α[1] + Α[3]

οταν ικανοποιειται η συνθηκη θα επιστρεφει 1 , αλλιως -1

Αυτη ηταν η ασκηση

Τωρα ετσι οπως το σκεφτομαι θα ειναι αρχικα η δημιουργια του array που το εχω κανει ηδη

2)η αναδρομικη void catoptric(int *A,int num,int sum,int j);

3)για το αθροισμα ισχυει αυτο εστω int p;

p=A[j] + A[num-j-1];

κανει προσθεση το 1 με το τελευται στοιχειο και παει λεγοντας ...

Τωρα στο σημειο που κολλαω ειναι στο πως να διαχειριστω το sum ετσι ωστε να βαλω μετα

if (p==sum) .....

Link to comment
Share on other sites

Eιναι κατι σαν ζευγαρια π.χ σε ενα array 5 ακεραιων

5 4 1 4 3

Α[0] Α[1] Α[2] Α[3] Α[4]

Δηλαδη το 5 και το 3 δηλαδη συμμετρικες θεσεις, Α[0] και Α[4] ειναι κατοπτρικα ζευγαρια

αντιστοιχα το 4 και το 4

το 1 δεν μας ενδιαφερει ... αμα ηταν αρτιος αριθμος ακεραιων τοτε μας ενδιαφερει ...

To προγραμμα θελει γράψω μία ΑΝΑΔΡΟΜΙΚΗ συνάρτηση που να ελέγχει εάν σε ένα πίνακα ακεραίων τα αθροί-

σματα στοιχείων κατοπτρικών ζευγών είναι όλα ίσα

δηλαδη 5 + 3 = 4 + 4 => Α[0] + Α[4] = Α[1] + Α[3]

αυτον τον ελεγχο πρεπει να κανει το προγραμμα !!Οταν οντως το αθροισματα ειναι ισα τοτε κανει return 1; ,αλλιως return -1;

Ελπιζω να εγινα πιο κατανοητος ....

Link to comment
Share on other sites

Το πρώτο πράγμα που μου έρχεται στο μυαλό, να βγάλω το άθροισμα από το πρώτο ζεύγος (Α[0]+Α[N]=p) έξω από την αναδρομική, και στη συνέχεια θα έκανα αναδρομική όπου θα συνέκρινα το άθροισμα των επόμενων ζευγών με το p.

Επίσης, η catoptric τι κάνει;

ΥΓ φοιτητής είμαι κι εγώ, μη με πάρεις για αυθεντία. Μπορεί να λέω και χαζομάρες :p

Link to comment
Share on other sites

Xαχαχα μπραβο ρε συναδελφε πολυ φιλοδοξο μηνυμα .... αλλα η συζητηση ασκησεων ειναι επιτρεπτη και δεν υπαρχει φοιτητης που να κανει μονος του τις ασκησεις χωρις να εχει παρει γνωμες αλλων συναδελφων ....

Σε καμια περιπτωση δεν θα παρατησω τη σχολη οτι και να γινει διοτι εχω περασει πολλα για να εχω μια θεση εδω !!!

Αμα εκαναν σωστα τη δουλεια τους στον προγραμματισμο του 1ου εξαμηνου δεν θα τα ειχαμε αυτα..

Τελος παντων ξεφευγουμε off topic οποτε δεν υπαρχει λογος να συνεχιστει ...

Link to comment
Share on other sites

:p για πλάκα πήγαινε φυσικά, αν και κάνεις λάθος ότι δεν υπάρχουν συνάδελφοι που τα κάνουν όλα μόνοι τους συμφωνώ απόλυτα ότι το 1ο εξάμηνο μας άφησε κάποια κενά κυρίως στο κομμάτι με τα αρχεία κτλ....

ΚΑΛΗ ΣΥΝΕΧΕΙΑ

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...