defacer Δημοσ. 5 Ιανουαρίου 2016 Share Δημοσ. 5 Ιανουαρίου 2016 Δέχομαι να με διορθώνεις. Δεν έχω πρόβλημα! Εμένα πάντως δε μου αρέσει να διορθώνω τέτοιους ισχυρισμούς. Και βασικά πιστεύω ότι προκαλούν και πολύ μεγάλη ζημιά σε όποιον τους κάνει, γιατί βγαίνει κάρτα ότι το 'χει φυσικότερο πράγμα στον κόσμο να μιλάει κατηγορηματικά για πράγματα που δεν ξέρει. Anyway το θέμα δεν είναι ο pointer γιατί το expression *w_count είναι τύπου unsigned και εκεί η αφαίρεση λειτουργεί "κανονικά". Η προταιραιότητα του dereference είναι μεγαλύτερη από της αφαίρεσης. Hint #2: δεν είναι το λάθος στην τρίτη παράμετρο... είναι στις άλλες δύο. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
M2000 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Καμία ζημιά για μένα! Ο καθένας όμως το βλέπει όπως θέλει. Όποιος ασχολείται με προγραμματισμό..συνέχεια μαθαίνει! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Προσκυνώ παπί! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
M2000 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Αυτό το conio.h με εκνευρίζει! Δεν παίζει σε linux! και εδώ τέτοιο έχουν: http://www.learn-c.org/ Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 (επεξεργασμένο) BTW, έβαλες τη gets σε σχόλια, αλλά χρησιμοποιήσες scanf χωρίς περιορισμό αριθμού χαρακτήρων που θα διαβάσει στο format identifier. Foul. Είναι σα να άφησες τη gets είναι. Αν διαβάσεις παρακάτω τον κώδικα και αναλογιστείς τί θα μπορούσε να συμβεί... Πάντως δεν έχει σχέση με το πρόβλημά σου. Επεξ/σία 6 Ιανουαρίου 2016 από gon1332 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Hint #3: Γιατί αλλάζεις συνέχεια λεξικά; Now join the pointers of the dark side. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
defacer Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Παιδιά, μόλις είπε τη λύση. Νομίζω πρέπει να κλείσει το νήμα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
imitheos Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Αυτό το conio.h με εκνευρίζει! Δεν παίζει σε linux! και εδώ τέτοιο έχουν: http://www.learn-c.org/ [offtopic] Ωραίοι οι τύποι. Εκτός και αν δεν κατάλαβα κάτι σωστά, πρώτη φορά βλέπω tutorial με σήμα "προστατεύεται από την DMCA" και να σου απαγορεύει να αναπαράγεις αλλού αυτά που λέει. Λες και αυτοί δεν έμαθαν την γλώσσα από κάπου αλλά γεννήθηκαν με αυτή τη γνώση και την πατεντάρουν. Άσε που γράφουν πόσες ανακρίβειες. [/offtopic] Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
DDevil Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Μ'αρεσει που κολλησατε με τα allocation. Εδω ζητανε απο το παλικαρι να γραψει λεξικο απο ελληνικα στα αγγλικα. Hello! Ελληνικα. Και μενα μου εκανε εντυπωση αυτο πως θα γινει να παιξει με ελληνικο λεξικο. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Και μενα μου εκανε εντυπωση αυτο πως θα γινει να παιξει με ελληνικο λεξικο. greeklish. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
antonis1245 Δημοσ. 6 Ιανουαρίου 2016 Μέλος Share Δημοσ. 6 Ιανουαρίου 2016 Εμένα πάντως δε μου αρέσει να διορθώνω τέτοιους ισχυρισμούς. Και βασικά πιστεύω ότι προκαλούν και πολύ μεγάλη ζημιά σε όποιον τους κάνει, γιατί βγαίνει κάρτα ότι το 'χει φυσικότερο πράγμα στον κόσμο να μιλάει κατηγορηματικά για πράγματα που δεν ξέρει. Anyway το θέμα δεν είναι ο pointer γιατί το expression *w_count είναι τύπου unsigned και εκεί η αφαίρεση λειτουργεί "κανονικά". Η προταιραιότητα του dereference είναι μεγαλύτερη από της αφαίρεσης. Hint #2: δεν είναι το λάθος στην τρίτη παράμετρο... είναι στις άλλες δύο. Αν εννοεις να κανω τις 2 παραμετρους unsigned το δοκιμασα κ δν δουλεψε, εχω ακριβως το ιδιο προβλημα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gon1332 Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Debugger; Ούτε καν; Το θέμα θέλει ουσιαστικό ψάξιμο. Δεν είναι κουλοχέρης ώστε να τραβάς μία αλλαγή έτσι μπας και δουλέψει. "Άντε τα άλλαξα αυτά σε unsigned, αλλά δε δούλεψε". Τι ήθελες να πετύχεις με το να τα κάνεις unsigned; Δεν υπήρχε λόγος, λέω εγώ. Hint: Αν το πας με αυτή τη σκέψη, σου λέω πως έχεις πάνω-κάτω ίδιες πιθανότητες να το κάνεις να δουλέψει, με αυτές που έχεις να κερδίσεις σε ένα παιχνίδι κουλοχέρη. Χάνεις χρόνο.. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
defacer Δημοσ. 6 Ιανουαρίου 2016 Share Δημοσ. 6 Ιανουαρίου 2016 Αν εννοεις να κανω τις 2 παραμετρους unsigned το δοκιμασα κ δν δουλεψε, εχω ακριβως το ιδιο προβλημα. Έχεις μια μεταβλητή τύπου unsigned και θέλεις να κάνεις αλλαγές σ' αυτές μέσα σε μια function (w_count++) οι οποίες θέλεις να φαίνονται και απέξω, στον κώδικα που την καλέι. Γι' αυτό κάνεις την παράμετρο pointer to unsigned. Έχεις και δύο μεταβλητές τύπου char** και θέλεις να κάνεις αλλαγές σ' αυτές μέσα σε μια function (realloc) οι οποίες θέλεις να φαίνονται και απέξω, στον κώδικα που την καλέι. Γι' αυτό θα έπρεπε να τις κάνεις pointer to char**, αλλά δεν το έκανες. Οπότε όταν επιστρέψεις στη main και ξανακαλέσεις τη function, οι En, Gr θα έχουν την πρώτη τιμή που πήραν (πάλι μέσα στη main). Και θα πας να κάνεις free (μέσω της realloc) κάτι που ήδη έχει γίνει free => πυροτεχνήματα. Πρακτικά η ευκολότερη μπακαλολύση θα ήταν να κάνεις τις En, Gr global και να σταματήσεις να τις περνάς σαν παραμέτρους, οπότε δε θα μπλεκόσουν με char*** και θα έβλεπες από παντού τις σωστές τιμές. Αλλά μετά θα είχες "κακό κώδικα με globals". Καλωσήρθες στο κόσμο της C, συλληπητήρια. 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
antonis1245 Δημοσ. 6 Ιανουαρίου 2016 Μέλος Share Δημοσ. 6 Ιανουαρίου 2016 Έχεις μια μεταβλητή τύπου unsigned και θέλεις να κάνεις αλλαγές σ' αυτές μέσα σε μια function (w_count++) οι οποίες θέλεις να φαίνονται και απέξω, στον κώδικα που την καλέι. Γι' αυτό κάνεις την παράμετρο pointer to unsigned. Έχεις και δύο μεταβλητές τύπου char** και θέλεις να κάνεις αλλαγές σ' αυτές μέσα σε μια function (realloc) οι οποίες θέλεις να φαίνονται και απέξω, στον κώδικα που την καλέι. Γι' αυτό θα έπρεπε να τις κάνεις pointer to char**, αλλά δεν το έκανες. Οπότε όταν επιστρέψεις στη main και ξανακαλέσεις τη function, οι En, Gr θα έχουν την πρώτη τιμή που πήραν (πάλι μέσα στη main). Και θα πας να κάνεις free (μέσω της realloc) κάτι που ήδη έχει γίνει free => πυροτεχνήματα. Πρακτικά η ευκολότερη μπακαλολύση θα ήταν να κάνεις τις En, Gr global και να σταματήσεις να τις περνάς σαν παραμέτρους, οπότε δε θα μπλεκόσουν με char*** και θα έβλεπες από παντού τις σωστές τιμές. Αλλά μετά θα είχες "κακό κώδικα με globals". Καλωσήρθες στο κόσμο της C, συλληπητήρια. Ποοο! Τι inseption τρελο ειναι αυτο...! Αντε βγαλε ακρη.. Τεσπα ευχαριστω πολυ για τη βοηθεια! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις