Αννουλα17 Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Καλησπερα εχω φαει μεγαλο σκαλωμα στο παρακατω: #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct dedomena { char word[20]; } TStoixeioyTree; typedef struct typos_komboy * typos_deikti; typedef struct typos_komboy { TStoixeioyTree dedomena; typos_deikti apaidi; typos_deikti dpaidi; } typos_komboy; void Tree_dimiourgia(typos_deikti *tree) { *tree=NULL; } int Tree_keno(typos_deikti tree) { return (tree==NULL); } int TStree_mikrotero(TStoixeioyTree s1, TStoixeioyTree s2) { if( strcmp(s1.word,s2.word) >0 ) return 1; else return 0; } int TStree_megalytero( TStoixeioyTree s1, TStoixeioyTree s2) { if( strcmp(s1.word,s2.word) <0 ) return 1; else return 0; } void TStree_setValue (TStoixeioyTree *target, TStoixeioyTree source) { strcpy(target->word,source.word); } void Tree_eisagogi(typos_deikti *tree, TStoixeioyTree stoixeio, int *error) { if(Tree_keno(*tree)) { *tree=malloc(sizeof(typos_komboy)); if(*tree==NULL) { *error=1; return; } TStree_setValue(&((*tree)->dedomena), stoixeio); (*tree)->apaidi=NULL; (*tree)->dpaidi=NULL; } else if(TStree_mikrotero(stoixeio, (*tree)->dedomena)) Tree_eisagogi(&((*tree)->apaidi), stoixeio, error); else if(TStree_megalytero(stoixeio, (*tree)->dedomena)) Tree_eisagogi(&((*tree)->dpaidi), stoixeio, error); else *error=1; } int main(void){ typos_komboy *tree; Tree_dimiourgia(&tree); char s[256]; int i=0,error; FILE *file1,*file2; if ((file1=fopen("file.txt","r"))==NULL) { printf("Unable to open file1.txt\n"); getche(); return 1; } while (fscanf(file1,"%255s",s)!=EOF) { Tree_eisagogi(&tree,s,&error); i++; } return 0; } οταν το κανω compile μου γραφει In function `main': incompatible type for argument 2 of `Tree_eisagogi' και δεν ξερω πως αλλιως να το δηλωσω το s στο Tree_eisagogi(&tree,s,&error);...καθε βοηθεια ευπροσδεκτη!! Σας ευχαριστω πολυ εκ των προτερων
ZAKKWYLDE Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Στην Tree_eisagogi κάνεις *tree = malloc αντί για tree = malloc Αυτό είναι το λάθος που βλέπω με μια πρώτη ματιά Παρομοίως αντί για *tree == NULL θέλεις tree == NULL Επίσης ή θα κάνεις tree->apaidi=NULL ή (*tree).apaidi=NULL
Star_Light Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Το s που περνάς στην κλήση της Tree_eisagogi ειναι πίνακας χαρακτήρων , αυτο μεταφράζεται σε δείκτη στο πρωτο στοιχειο του πινακα χαρακτηρων. TEST.c:45: note: expected ‘TStoixeioyTree’ but argument is of type ‘char *’ Το file2 σβηστο διπλα απο το file1 δεν χρησιμοποιείται πουθενά.
ZAKKWYLDE Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Επίσης θα σου έλεγα να αποφεύγεις typedef τύπου typedef struct typos_komboy * typos_deikti; Περισσότερο σε μπερδεύουν παρά σε διευκολύνουν.
imitheos Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 οταν το κανω compile μου γραφει In function `main': incompatible type for argument 2 of `Tree_eisagogi' και δεν ξερω πως αλλιως να το δηλωσω το s στο Tree_eisagogi(&tree,s,&error);...καθε βοηθεια ευπροσδεκτη!! Σας ευχαριστω πολυ εκ των προτερων Δήλωσε το ως αυτό που ζητάει η συνάρτηση δηλαδή ως TStoixeioyTree ή ακόμη καλύτερα αφαίρεσε εντελώς αυτή τη δομή. Καλησπερα εχω φαει μεγαλο σκαλωμα στο παρακατω: typedef struct dedomena { char word[20]; } TStoixeioyTree; Αφενός όπου μπορείς να αποφεύγεις τα typedef, καλό είναι να το κάνεις γιατί σε μπερδεύουν. Σίγουρα τα typedef που ανέφερε ο ZAKKWYLDE τα οποία κρύβουν δείκτες αλλά αν μπορείς να αποφύγεις και τα απλά, καλό θα κάνει. Αφετέρου γιατί ορίζεις μια δομή η οποία μέσα έχει μόνο ένα στοιχείο και δεν χρησιμοποιείς κατευθείαν ένα πίνακα από char (ώστε να σου παίζει και το s στην main) ? Θα προσθέσεις έπειτα και άλλα στοιχεία ? Θέλεις να εκμεταλλευτείς ότι οι δομές ως όρισμα συναρτήσεων αντιγράφονται ενώ οι πίνακες περνάνε ως δείκτες (δεν βλέπω να γίνεται πουθενά στο πρόγραμμα) ? void Tree_dimiourgia(typos_deikti *tree) { *tree=NULL; } Εδώ έχεις διπλό δείκτη το οποίο δεν γίνεται αντιληπτό αμέσως από τον αναγνώστη για αυτό είναι καλό να αποφεύγονται typedef που κρύβουν πληροφορίες (εκτός αν πρέπει να κρύψουν πληροφορίες που είναι και ο λόγος ύπαρξης τους). int TStree_mikrotero(TStoixeioyTree s1, TStoixeioyTree s2) { if( strcmp(s1.word,s2.word) >0 ) return 1; else return 0; } int TStree_megalytero( TStoixeioyTree s1, TStoixeioyTree s2) { } void Tree_eisagogi(typos_deikti *tree, TStoixeioyTree stoixeio, int *error) { if(Tree_keno(*tree)) } Χρειάζεται ολόκληρη συνάρτηση μόνο για μια κλήση strcmp ή για να μία σύγκριση με NULL ? Εκτός αν το απαιτεί η άσκηση οπότε πάω πάσο αλλά θα πρέπει να μπει ένα σχόλιο πριν την συνάρτηση /* άχρηστη συνάρτηση γιατί η εκφώνηση είναι άθλια */ void TStree_setValue (TStoixeioyTree *target, TStoixeioyTree source) { strcpy(target->word,source.word); } Γιατί η μία μεταβλητή είναι δείκτης και η άλλη όχι ? getche(); return 1; Για να σταματήσεις προσωρινά το πρόγραμμα, αντί για getche, getch, κτλ καλό είναι να χρησιμοποιείς getchar που έχει το ίδιο αποτέλεσμα και παίζει παντού. ΥΓ: Ισως να είσαι όντως Αννούλα αλλά παρόλα αυτά να το πω. Πάντα πριν την περίοδο της εξεταστικής, το φόρουμ γεμίζει από nicks αννούλα, μαιρούλα, νεραϊδούλα, κτλ που ρωτάνε για ασκήσεις. Εκτός από προσβλητικό είναι και περιττό. Όσο καλή ή κακή βοήθεια (ή κράξιμο) θα δώσουμε στον Μιτσάγκουρα43 το ίδιο ακριβώς θα δώσουμε και στην Μαιρούλα19. 2
ChRis6 Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 ιδιος δεν είναι ο κώδικας με το προηγουμενο thread που άνοιξε ; Και λέγαμε οτι δεν είναι η Αννούλα17 αλλά ο Μπάμπης24...well played Αννουλα17 2
ZAKKWYLDE Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 ΥΓ: Ισως να είσαι όντως Αννούλα αλλά παρόλα αυτά να το πω. Πάντα πριν την περίοδο της εξεταστικής, το φόρουμ γεμίζει από nicks αννούλα, μαιρούλα, νεραϊδούλα, κτλ που ρωτάνε για ασκήσεις. Εκτός από προσβλητικό είναι και περιττό. Όσο καλή ή κακή βοήθεια (ή κράξιμο) θα δώσουμε στον Μιτσάγκουρα43 το ίδιο ακριβώς θα δώσουμε και στην Μαιρούλα19. Τουλάχιστον θα μπορούσε να είναι Μαιρούλα19 για να είναι πιο πιστευτό ότι είναι έστω στη 3οβάθμια
Star_Light Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 ΥΓ: Ισως να είσαι όντως Αννούλα αλλά παρόλα αυτά να το πω. Πάντα πριν την περίοδο της εξεταστικής, το φόρουμ γεμίζει από nicks αννούλα, μαιρούλα, νεραϊδούλα, κτλ που ρωτάνε για ασκήσεις. Εκτός από προσβλητικό είναι και περιττό. Όσο καλή ή κακή βοήθεια (ή κράξιμο) θα δώσουμε στον Μιτσάγκουρα43 το ίδιο ακριβώς θα δώσουμε και στην Μαιρούλα19. αααχαχαχχαχαχαχα και εισαι και ευγενικός... εγω απλα θα έλεγα έναν τέτοιο τύπο αν το έκανε παπάροβιτς. /* άχρηστη συνάρτηση γιατί η εκφώνηση είναι άθλια */
Αννουλα17 Δημοσ. 19 Μαΐου 2013 Μέλος Δημοσ. 19 Μαΐου 2013 Πρωτον το 17 δεν δηλωνει ηλικια μια ημερομηνια ειναι για μενα ... δευτερον λογικο να υποπτευεστε διαφορα αλλα δεν ισχυει κοριτσι ειμαι απλως σπουδαζω πληροφορικη.. και ειπα να ρωτησω! την αλλη φορα θα βαλω nickname mitsaras25 για να κανω ηρεμα την δουλεια μου τριτον η εκφωνηση οντως ειναι χαλια τεταρτον παω στον κωδικα: Στην Tree_eisagogi κάνεις *tree = malloc αντί για tree = malloc Αυτό είναι το λάθος που βλέπω με μια πρώτη ματιά Παρομοίως αντί για *tree == NULL θέλεις tree == NULL Επίσης ή θα κάνεις tree->apaidi=NULL ή (*tree).apaidi=NULL -τα tree_dhmirourgia tree_keno kai tree_eisagogi δινονται ετσι στην εκφωνηση και δεν επιτρεπετε να τα αλλαξω(συγνωμη για την παραλειψη) απλως ρωταω αν εχω κανει καποιο λαθος στις υπολοιπες συναρτησεις ή στην main.. Το s που περνάς στην κλήση της Tree_eisagogi ειναι πίνακας χαρακτήρων , αυτο μεταφράζεται σε δείκτη στο πρωτο στοιχειο του πινακα χαρακτηρων. TEST.c:45: note: expected ‘TStoixeioyTree’ but argument is of type ‘char *’ Το file2 σβηστο διπλα απο το file1 δεν χρησιμοποιείται πουθενά. -το file2 το εβαλα καταλαθος απλως δεν μετεφερα ολο τον κωδικα απ το dev Επίσης θα σου έλεγα να αποφεύγεις typedef τύπου typedef struct typos_komboy * typos_deikti; Περισσότερο σε μπερδεύουν παρά σε διευκολύνουν. -και τα typedef επισης δικα του ειναι δεν μπορω να το αλλαξω Δήλωσε το ως αυτό που ζητάει η συνάρτηση δηλαδή ως TStoixeioyTree ή ακόμη καλύτερα αφαίρεσε εντελώς αυτή τη δομή. Αφενός όπου μπορείς να αποφεύγεις τα typedef, καλό είναι να το κάνεις γιατί σε μπερδεύουν. Σίγουρα τα typedef που ανέφερε ο ZAKKWYLDE τα οποία κρύβουν δείκτες αλλά αν μπορείς να αποφύγεις και τα απλά, καλό θα κάνει. Αφετέρου γιατί ορίζεις μια δομή η οποία μέσα έχει μόνο ένα στοιχείο και δεν χρησιμοποιείς κατευθείαν ένα πίνακα από char (ώστε να σου παίζει και το s στην main) ? Θα προσθέσεις έπειτα και άλλα στοιχεία ? Θέλεις να εκμεταλλευτείς ότι οι δομές ως όρισμα συναρτήσεων αντιγράφονται ενώ οι πίνακες περνάνε ως δείκτες (δεν βλέπω να γίνεται πουθενά στο πρόγραμμα) ? Εδώ έχεις διπλό δείκτη το οποίο δεν γίνεται αντιληπτό αμέσως από τον αναγνώστη για αυτό είναι καλό να αποφεύγονται typedef που κρύβουν πληροφορίες (εκτός αν πρέπει να κρύψουν πληροφορίες που είναι και ο λόγος ύπαρξης τους). Χρειάζεται ολόκληρη συνάρτηση μόνο για μια κλήση strcmp ή για να μία σύγκριση με NULL ? Εκτός αν το απαιτεί η άσκηση οπότε πάω πάσο αλλά θα πρέπει να μπει ένα σχόλιο πριν την συνάρτηση /* άχρηστη συνάρτηση γιατί η εκφώνηση είναι άθλια */ Γιατί η μία μεταβλητή είναι δείκτης και η άλλη όχι ? Για να σταματήσεις προσωρινά το πρόγραμμα, αντί για getche, getch, κτλ καλό είναι να χρησιμοποιείς getchar που έχει το ίδιο αποτέλεσμα και παίζει παντού.ΥΓ: Ισως να είσαι όντως Αννούλα αλλά παρόλα αυτά να το πω. Πάντα πριν την περίοδο της εξεταστικής, το φόρουμ γεμίζει από nicks αννούλα, μαιρούλα, νεραϊδούλα, κτλ που ρωτάνε για ασκήσεις. Εκτός από προσβλητικό είναι και περιττό. Όσο καλή ή κακή βοήθεια (ή κράξιμο) θα δώσουμε στον Μιτσάγκουρα43 το ίδιο ακριβώς θα δώσουμε και στην Μαιρούλα19. -δυστηχως ετσι πρεπει αν το κανω για να καταλαβετε εχω τις συναρτησεις mikrotero meglitero kai set_value κενες και πρεπει να τις γεμισω εγω και τις γεμισα ετσι -strcpy(target->word,source.word); το εβαλα ετσι γιατι ετσι μ βγηκε δεν ξερω γτ απλως το ενα μ βγηκε arget->word και το αλλο source.word αλλιως μ εβγαζε error συνεχεια εβαλα TStoixeioyTree s; και μου λειτουργησε κανονικα! αντι για char s[256];.. αλλα υπαρχει ακομα ενα προβλημα : αυτα ειναι ολα σε ενα αρχειο κανονικα ειναι σε πολλα και οταν το κανω εκει μ βγαζει 100 error του τυπου multiple definition of `(και ολες τις συναρτησεις) first defined here (αλλα δεν μ βγαζει που η αριστερη στηλη ειναι κενη) ld returned 1 exit status και build error το θεμα ειναι οτι καλω κανονικα ολα τα αρχεια δεν ξερω γτ μ το βγαζει αυτο...
temp_ Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Ίσως είναι καλή ιδέα να παραθέσεις την εκφώνηση, ή έστω το κομμάτι της που σχετίζεται με το πρόβλημά σου, ώστε να είναι πιο εύστοχες οι απαντήσεις που θα πάρεις.
ZAKKWYLDE Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 -τα tree_dhmirourgia tree_keno kai tree_eisagogi δινονται ετσι στην εκφωνηση και δεν επιτρεπετε να τα αλλαξω(συγνωμη για την παραλειψη) απλως ρωταω αν εχω κανει καποιο λαθος στις υπολοιπες συναρτησεις ή στην main.. Με μπέρδεψε και εμένα ο κρυμμένος δείκτης (τον οποίον είδα μετά τα malloc) οπότε παίζει να σου είπα και ανακρίβειες, οπότε αγνόησέ τα . Πάντως δεν είναι σε καμία περίπτωση κώδικας αυτός που σας έδωσε...
Star_Light Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Με μπέρδεψε και εμένα ο κρυμμένος δείκτης (τον οποίον είδα μετά τα malloc) οπότε παίζει να σου είπα και ανακρίβειες, οπότε αγνόησέ τα . Πάντως δεν είναι σε καμία περίπτωση κώδικας αυτός που σας έδωσε... Εμ. Για αυτο και εγω απεφυγα να το συνεχισω γιατι μου φανηκε πολυ περιεργος ο κωδικας. Στο μεταξυ παιζει να μιλαμε για ανεργια κτλπ και τουλαχιστον καθε μερα βαραμε καρτα οι περισσοτεροι εδω μεσα ασχολούμενοι με αποριες πρωτοετών ή μαθητων. Απιστευτο. Το ξερεις οτι εφοσον του λυνεις την απορια ειναι υπηρεσια... θα μπορουσε να υπάρχει χρέωση. Ειδικα αμα καποιος δεν ειναι μονιμο μέλος γιατι τα μονιμα μελη βοηθανε οντως ο ενας τον αλλον και υπάρχει συζητηση μεταξυ τους πραγμα απαραιτητο για επαγγελματιες ή μαθητευομενους.Οποτε μην κλαιγομαστε μετα για ανεργια Σου λεει ο αλλος γιατι να πληρωσω καθηγητη να ερθει σπιτι μπαινω σε ενα φορουμ και μου τα λυνουν ολα ολοι οσοι θέλουν να αποδειξουν οτι ξέρουν.Θα μου πεις και εσυ το ιδιο εκανες στην αρχη ναι αλλα εγω ειμαι και μονιμος κάτοικος.... δεν μου λυσε καποιος τις αποριες και ξαφανιστηκα μετα.Η πλακα ειναι πως παιζει να τρωμε δουλεια σε ατομα που μπορει να την έχουν πραγματικα αναγκη!!!!!!! υγ Καλη τυχη με τον κωδικα σου και τον καθηγητή που έμπλεξες Αννουλα17
imitheos Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Ίσως είναι καλή ιδέα να παραθέσεις την εκφώνηση, ή έστω το κομμάτι της που σχετίζεται με το πρόβλημά σου, ώστε να είναι πιο εύστοχες οι απαντήσεις που θα πάρεις.+1 -τα tree_dhmirourgia tree_keno kai tree_eisagogi δινονται ετσι στην εκφωνηση και δεν επιτρεπετε να τα αλλαξω(συγνωμη για την παραλειψη) απλως ρωταω αν εχω κανει καποιο λαθος στις υπολοιπες συναρτησεις ή στην main..Δεν μπορούμε να ξέρουμε τι έκανες και τι είναι δοσμένο οπότε, όπως σου είπε και ο temp, πρέπει να δώσεις (μέσα σε spoilers) την εκφώνηση καθώς και τον αρχικό κώδικα όπως σας τον έδωσε. Από ποια σχολή είναι να ξέρουμε να μην πάμε ? -strcpy(target->word,source.word); το εβαλα ετσι γιατι ετσι μ βγηκε δεν ξερω γτ απλως το ενα μ βγηκε arget->word και το αλλο source.word αλλιως μ εβγαζε error συνεχειαΔηλαδή έκανες αράδα αλλαγές χωρίς να ξέρεις γιατί τις κάνεις μέχρι να μην βαράει ο compiler ? Ξεκινώντας από τον αρχικό κώδικα που έδωσε ο καθηγητής, καλό θα είναι να μας πεις γιατί έκανες την τάδε επιλογή στα σημεία που πρόσθεσες. ** Για να μην παρεξηγηθώ αργότερα, να πω ότι (τουλάχιστον εγώ) δεν έχω σκοπό να σου κάνω την άσκηση απλά μπορώ να σε βοηθήσω να σε κατανοήσεις γιατί έκανες το Χ πράγμα ή γιατί το Ψ πράγμα είναι καλύτερη μέθοδος από το Χ ** Με μπέρδεψε και εμένα ο κρυμμένος δείκτης (τον οποίον είδα μετά τα malloc) οπότε παίζει να σου είπα και ανακρίβειες, οπότε αγνόησέ τα . Πάντως δεν είναι σε καμία περίπτωση κώδικας αυτός που σας έδωσε... Ναι λόγω του typedef, στο "typos_deikti *tree" το tree είναι διπλός δείκτης για αυτό χρησιμοποιεί *tree αντί για tree (και για αυτό δεν βαράει ο compiler στο *tree = NULL)
cvb Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Καλησπέρα. Νομίζω πως το κίνητρο για να απαντάει κάποιος στις ερωτήσεις κάποιων ανθρώπων είναι αρχικά η αγάπη του για τον προγραμματισμό, οι γνώσεις του, το μεράκι του, η εμπειρία του, ο διαθέσιμος χρόνος του και τέλος το μικρό στοιχείο της κοινωνικότητας που ενυπάρχει σε ένα φόρουμ τεχνικών συζητήσεων. Παρακολουθώ το φόρουμ τον τελευταίο καιρό και μόνο καλά λόγια έχω να πω, γιατί εκτός από καλογραμμένο κώδικα και καλοσχολιασμένο επίσης, μάλιστα σε ασκήσεις πανεπιστημιακού επιπέδου, έχω να πω ότι μερικές αναλύσεις σπανίζουν ακόμα και από καλά βιβλία του χώρου. Μπράβο λοιπόν σε όλους όσους καταπιάνονται με μεράκι στην τέχνη του προγραμματισμού και που διαχέουν την τεχνογνωσία και το μεράκι τους και σε άλλους ανθρώπους. 1
temp_ Δημοσ. 19 Μαΐου 2013 Δημοσ. 19 Μαΐου 2013 Αν έχω καταλάβει καλά, ο κώδικας που σας δόθηκε είναι κάπως έτσι (φτιαγμένος σε ότι αφορά την στοίχισή του από εμένα)... #include <stdio.h> #include <stdlib.h> #include <string.h> /* * Τα typedef's που ακολουθούν δίνονται έτσι από την εκφώνηση * (ΒΟΗΘΕΙΑ ΜΑΣ !!!) */ typedef struct dedomena { char word[20]; } TStoixeioyTree; typedef struct typos_komboy *typos_deikti; typedef struct typos_komboy { TStoixeioyTree dedomena; typos_deikti apaidi; typos_deikti dpaidi; } typos_komboy; /* ------------------------------------------------------ * Δίνεται από την εκφώνηση */ void Tree_dimiourgia( typos_deikti *tree ) { *tree = NULL; } /* ------------------------------------------------------ * Δίνεται από την εκφώνηση */ int Tree_keno( typos_deikti tree ) { return (tree == NULL); } /* ------------------------------------------------------ * να συμπληρωθεί... */ int TStree_mikrotero( TStoixeioyTree s1, TStoixeioyTree s2 ) { } /* ------------------------------------------------------ * να συμπληρωθεί... */ int TStree_megalytero( TStoixeioyTree s1, TStoixeioyTree s2 ) { } /* ------------------------------------------------------ * να συμπληρωθεί... */ void TStree_setValue( TStoixeioyTree *target, TStoixeioyTree source ) { } /* ------------------------------------------------------ * Δίνεται από την εκφώνηση */ void Tree_eisagogi( typos_deikti *tree, TStoixeioyTree stoixeio, int *error ) { if ( Tree_keno(*tree) ) { *tree = malloc( sizeof(typos_komboy) ); if ( *tree == NULL ) { *error=1; return; } TStree_setValue( &((*tree)->dedomena), stoixeio ); (*tree)->apaidi = NULL; (*tree)->dpaidi = NULL; } else if ( TStree_mikrotero(stoixeio, (*tree)->dedomena) ) Tree_eisagogi( &((*tree)->apaidi), stoixeio, error ); else if ( TStree_megalytero(stoixeio, (*tree)->dedomena) ) Tree_eisagogi( &((*tree)->dpaidi), stoixeio, error ); else *error = 1; } /* ------------------------------------------------------ */ int main( void ) { /* Στα παρακάτω τι έχει δοθεί έτοιμο και τι έχεις γράψει εσύ; */ /* typos_komboy *tree; Tree_dimiourgia(&tree); char s[256]; int i=0, error; FILE *file1 = NULL; if ( (file1=fopen("file.txt","r")) == NULL ) { printf("Unable to open file1.txt\n"); getchar(); return 1; } while ( fscanf(file1, "%255s", s) != EOF) { Tree_eisagogi( &tree, s, &error ); i++; } */ return 0; } Από εκεί και πέρα, χωρίς να ξέρουμε τι θες να κάνεις δεν μπορούμε να βοηθήσουμε. Εγώ είμαι πρόθυμος (χρόνου επιτρέποντος) να σε βοηθήσω σε συγκεκριμένες απορίες που τυχόν μας καταθέσεις (αφού πρώτα μας έχεις εξηγήσει τι σου ζητείται, τι έχεις κάνει και γιατί) δεν είμαι όμως διατεθειμένος να σου λύσω την άσκηση. ΥΓ. Ο κώδικας που σας έχει δώσει (αν είναι όντως έτσι) είναι επιεικώς άθλιος, είτε μιλάμε εκπαιδευτικά είτε επαγγελματικά. Δεν το λέω με καθόλου κακία, αλλά με πίκρα για τους αυριανούς "επγγελματίες" που προετοιμάζει αυτή η τάξη. Ο κώδικας αυτός δείχνει άνθρωπο που δεν ξέρει ούτε καν βασικές καλές πρακτικές, όπως για παράδειγμα στις ονομασίες των προσαρμοσμένων τύπων, οι οποίες στον κώδικα που μας παρέθεσες είναι άρτσι-μπούρτζι και λουλάς... καμία, μα καμία συνέπεια ως προς τον τρόπο ονομασίας τους.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα