Προς το περιεχόμενο

realez

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    40
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

Οτιδήποτε δημοσιεύεται από realez

  1. Καλησπέρα, μόλις πείρα ένα sony vaio laptop με τα windows 8 μέσα. Προσπαθησα να ενεργοποιήσω το windows defender κάνοντας αναζήτηση με το όνομα του και επιλέγοντας το αλλά μου έλεγε πως δε γίνεται να το ανοίξω γιατί έχω άλλο πρόγραμμα antivirus. Το laptop είχε επίσης το mcafee antivirus μέσα και κάπου διάβασα πως η ύπαρξη άλλου antivirus φταίει που δεν λειτουργεί. Οπότε πήγα στην προσθαφαίρεση προγραμμάτων και έκανα uninstall τα 2 που έγραφα mcafee. Πάλι όμως τα ίδια. Βρήκα ενα πρόγραμμα της mcafee που διαγράφει τελείως το mcafee απο το pc οπότε έτρεξα και αυτό. Πάλι το ίδιο μήνυμα. Έπειτα πήγα στην επίλυση ζητημάτων και από εκεί άνοιξε. Το θέμα είναι πως ενώ το Ορισμοι ιών και λογισμικου spyware είναι ενημερωμένω to Προστασία πραγματικού χρόνου είναι ανενεργό (στις ρυθμίσεις η προστασία πραγματικού χρόνου είναι τσεκαρισμένη) . Αν πατήσω ενεργοποιήση θα φορτώνει αρκετή ώρα γύρω στα 30 sec και μετά μου εμφανίζει μήνυμα " Ο Windows Defender δεν ήταν δυνατό ν ενεργοποιήσει την προστασία σε πραγματικό χρόνο. Αυτή η λειτουργία επιστράφηκε επειδή έληξε η περίοδος του χρονικού ορίου. Κάντε κλικ στη βοήθεια για περισσότερες πληροφορίες σχετικά με αυτό το πρόβλημα. Ευχαριστώ για το χρόνο σας
  2. Καλησπέρα προσπαθώ να επιλέξω ένα λάπτοπ για έναν φίλο, αλλά δεν έχω εμπειρία απο αυτά για αυτό θα μου ηταν πολυ χρήσιμη η συμβουλή σας. Το λάπτοπ το θέλει κυρίως για ταινίες, οπότε σίγουρα να έχει 17αρα led οθόνη, δε θέλει να κολάει όταν έχει ξέρω γω 9 καρτέλες στο firefox και από gaming κανένα league of legends όχι τίποτα τρομερό. Είμαστε ανάμεσα στα παρακάτω http://www.mediamarkt.gr/mcs/product/DELL-Inspiron-3721-%28i5-3337U-4GB-500GB%29,99452,397551,597143.html?langId=-18 http://www.mediamarkt.gr/mcs/product/TOSHIBA-Satellite-L870-18J,99452,397551,593087.html?langId=-18 Κάθε συμβουλή ευπρόσδεκτη
  3. Προσπαθώ να βρω ένα τρόπο για να βάλω σε μία λίστα τα path κάποιον txt και κατέληξα στην FindFirstFile() και FindNextFile(). Νομίζω πως αυτές ταιριάζουν στο σκοπό μου πείτε μου αν είμαι λάθος. Η κατάσταση είναι η παρακάτω. Έχω ένα φάκελο με όνομα mama. Αυτος ο φάκελος περιέχει 3 φακέλους το child1, child2 kai child3 o καθένας από τους οποίους περιέχει μερικά txt των οποίων τα path θέλω να βάλω στη λίστα ώστε να τα χρησιμοποιήσω μετά ένα ένα. Το πρόβλημα μου είναι πως προσπαθώ να πειραματιστώ με το FindFirstFile(), το FindNextFile() κτλπ αλλά μου εμφανίζει το παρακάτω error.: Error 1 error C2664: 'FindFirstFileW' : cannot convert parameter 1 from 'char [50]' to 'LPCWSTR' . Καμία ιδέα; By the way χρησιμοποιώ visual studio 2008 Edit: Λύσει στο error βρήκα σε περίπτωση που το χρειαστεί κάποιος: Για να λυθεί το error properties του project ->general->character set αλλαγή από unicode σε not set (ελπίζω αυτό να μην επηρεάσει κάτι άλλο όταν το κάνω στον βασικό κώδικα) Βρήκα πως λειτουργεί giα να υλοποιήσω αυτό που έγραψα παραπάνω αλλά τα προβλήματα συνεχίζουν να υπάρχουν. Άμα στη θέση του s(εκεί που είναι το βελάκι ) βάλω το περιεχόμενό του δηλαδή "C:/Users/john/Desktop/mama/*" λειτουργεί. Άμα όμως βάλω το string s βγάζει το εξείς error: Error 1 error C2664: 'FindFirstFileA' : cannot convert parameter 1 from 'std::string' to 'LPCSTR' Μιάζει κάπως με το προηγούμενο. Το θέμα είναι πως το path πρέπει να το παίρνω από το χρήστη όποτε θα το βάζω μέσα σε ενα string. Επίσης τα 2 πρώτα που παίρνει με το FindFirstFile και το FindNextFile είναι τελείες για αυτό έχω βάλει τα 2 πρώτα να γίνονται έτσι χωρίς να τα χρησιμιοποιώ. Αναγκαστικά έτσι γίνεται η υπάρχει κάποια λύση σε αυτό? Ευχαριστώ #include <windows.h> #include <iostream> #include <fstream> #include <string> #include <tchar.h> #include <stdio.h> using namespace std; struct pathname { string path; pathname *next; }; int main() { pathname *head = new pathname; pathname *temp = head; WIN32_FIND_DATA fData; string s = "C:/Users/Manos/Desktop/mama/*"; void * handle = FindFirstFile( s, &fData ); //<~~~~~~~~~~~~ FindNextFile(handle, &fData);//meta apo auto emfanizei ta onomata FindNextFile(handle, &fData); temp->next = 0; temp->path = fData.cFileName; while (FindNextFile(handle, &fData) != 0) //swsto listing { temp->next = new pathname; temp = temp->next; temp->next = 0; temp->path = fData.cFileName; } temp = head; cout <<"edw arxizei" <<endl; while(temp != 0) { cout << temp->path << endl; temp = temp->next; } system("pause"); }
  4. Πολύ κατατοπιστική η απάντιση σου Θα ολοκληρώσω την άσκηση με αυτό που είχα κάνει post πριν και μετά θα πειραματιστώ με αυτά που μου έστειλες για να βρω το πιο σωστό.
  5. Κάπου δίαβασα για το md5 http://bobobobo.wordpress.com/2010/10/17/md5-c-implementation/ και νομίζω πως είναι αυτό που χρειάζομαι.(ίσως όχι το τέλειο αλλά από το να μην τρέχει καθόλου και να μηδενιστώ ) Εάν είναι αυτό μπορεί κάποιος να μ δώσει οδηγίες για το πως θα το βάλω σε λειτουργία.( δεν έχω ξαναπάρει τέτοιο κώδικα ποτέ) Αυτό που μου έστειλες πρέπει να το αλλάξω για string και να αλλάξω το return σε hash % m (m το μέγεθος του πίνακα) ώστε να επιστρέφει τιμές για τον πίνακα μου; Φένεται πολύ πιο απλό από το md5 unsigned long hash(unsigned char *str) { unsigned long hash = 5381; int c; while (c = *str++) hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ return hash; } unsigned long djb2(const string& str) { unsigned long hash = 5381; for(string::const_iterator it=str.begin();it!=str.end();it++) hash = ((hash << 5) + hash) + *it; /* hash * 33 + character */ return hash; }
  6. Δυστηχώς το visual studio 2008 που χρησιμοποιώ δεν υποστηρίζει το #include <unordered_map> ακόμα και αν βάλω το using namespace std::tr1;. Έχω μείνει λίγο έκπληκτος από το τι μπορεί να γίνει άμα χρησιμοποιήσει κάποιος τη standar library αλλά σίγουρα πολλά από αυτά δε θα μπορούσα να τα χρησιμοποιήσω μιας και ο σκοπός της άσκησης είναι να μάθω. Παρόλα αυτά και ο ίδιος ο καθηγητής λέει πως μπορούμε να χρησιμοποιήσουμε κώδικα για τον πίνακα κατακερματισμού από 3ους μιας και δεν είναι ο σκοπός του μαθήματος να φτιάξουμε κάτι τέτοιο. Προσπαθώ να φτιάξω τον δικό μου αλλά είμαι αρκετά μπερδεμένος με το πόσο μεγάλος πρέπει να είναι ο πίνακας μιας και στη συγκεκριμένη περίπτωση πρέπει να ευρετηριάσω πάρα πολλές λέξεις και από ότι έχω καταλάβει το έυρος του πίνακα εξαρτάται πολύ απο τη συνάρτηση(hashing) που θα της δίνω ως όρισμα τη λέξη και θα μου επιστρέφει ενα κλειδί(σε μορφή int). Επειδή δεν ξέρω αν θα βγάλω άκρη άμα κάποιος ξέρει που μπορώ να βρω έτοιμο κώδικα για να δημιουργίσω έναν πίνακα κατακερματισμού όπου το hash function θα παίρνει ως όρισμα string και θα επιστρέφει τιμή int(οπού σε αυτή τη θέση του πίνακα θα βάζω τα στοιχεία μου) θα με βοηθούσε πάρα πολύ.
  7. Με αυτό το hashtable θέλω να φτιάξω ενα αντεστραμένο ευρετήριο για περύπου 20 txt. Αυτο που έχω κάνει μέχρι στιγμής είναι να γράψω κώδικα για να διαβάζει ενα ενα τα αρχεία και να βάζει σε ενα string μία μία της λέξης(μονο της λέξης). Αν φτιάξω το hashtable θα παίρνω μία μία της λέξης και θα της βάζω εκεί(με μια διαδικασία και ελέγχους σίγουρα) αλλά νομίζω αυτή είναι η λογική. Τώρα προσπαθώ να φτιάξω ένα πίνακα κατακερματισμού με αλυσίδες. Νομίζω αυτό χρειάζεται.
  8. Μου φένεται πολύ δύσκολο να καταλάβω πως λειτουργεί αυτό που μου έστειλες. Δεν έχω ξαναχρησιμοποιήσει κάτι τέτοιο . Θα ήταν πολύ δύσκολο να το φτιάξω μόνος μου?
  9. Καλησπέρα, στο παρελθόν είχα φτιάξει πίνακα κατακερματισμού για ένα πρόγραμμα όπου ο χρήστης έδινε το μέγεθος του πίνακα, το πλήθος των στοιχείων που θα δώσει και έπειτα έδινε Input κλειδιά και λέξεις. Οπότε τα πράγματα ήταν αρκετά απλά. Είχα φτιάξει ένα struct της μορφής: struct data { int key; char c[20]; }; Τα βήματα που ακολουθούσα μετά ήταν -Hashing στο κλειδί που έδινε της μορφής hash(key, m) = key mod m. Όπου key=κλειδί, m=μέγεθος πίνακα -Πήγαινα στη διεύθυνση (ας πουμε ότι ο πίνακας μου λεγόταν array) array[hash(key,m)] -Εκεί άμα ήταν άδεια έβαζα το κλειδί και τη λέξη -Αμα δεν ήταν το έβαζα στην επόμενη κενή θέση που θα έβρισκα -Αμα ξαναέφτανε στην αρχική θέση ο πίνακας ήταν γεμάτος. Τώρα προσπαθώ να φτιάξω έναν πίνακα κατακερματισού αλλά αυτή τη φορά το Input το παίρνω από txts (γύρω στα 30 και το καθένα περιέχει μυθιστορήματα) και τα κλειδιά αυτή τη φορά είναι strings. Οι απορίες μου είναι οι εξείς: -Ποιό πρέπει να είναι το μέγεθος του πίνακα (σταθερό η να το αλλάζω); -Πως μπορώ να κάνω σωστό hasing στις λέξεις; -Τι είναι πιο σωστό να χρησιμοποιήσω hashing με ανοιχτή διεύθυνση η με αλυσίδες; ps: Οί γνώσεις μου στη C++ είναι αρκετά περιορισμένες.
  10. έκανα λάθος στο struct ειναι char name[20] όχι char*
  11. dokimastikostruct.cpp:17:32: σφάλμα: cannot convert ‘char**’ to ‘char*’ for argument ‘1’ to ‘char* strcpy(char*, const char*)’
  12. Γιατί αυτός ο κώδικας είναι ένα δείγμα για να λυθεί η απορία μου. Ο κώδικας στον οποίο θα το χρησιμοποιήσω έχει να κάνει με γραμμικό κατακερματισμό.
  13. Καλησπέρα, πως μπορώ να βάλω το περιεχόμενο του input στο array[0]->bla;(Επειδή είναι pointer σε pointer γράφεται κάπως αλλιώς αλλά δεν το βρίσκω) struct data { int num; char* bla[20]; }; int main() { data* array[20]; char input[20]; cout<<"dwse mou mia leksh"<<endl; cin.getline(input, 20); array[0]->bla = input; //λάθος }
  14. Τελικά εκεί που νόμιζα πως ήταν έυκολο δε μου λειτουργεί η συνάρτηση rotate.(rotateright για πχ έχω και rotate left). Έχω βάλει κάποιες σημειώσεις ρωτήστε με ότι θέλετε. >TreeNode* rotateRight(TreeNode *root, int x) { //ψάχνει το ζητούμενο int χ και όταν το βρει αποθηκεύει στο curr τη θέση του και στο parent τη θέση του γονιού του. bool found = false; if(root == NULL) { cout<<"to dentro einai keno"<<endl; return root; } TreeNode *curr; TreeNode *parent; parent = root; curr = root; while(curr!=NULL) { if(curr->item == x) { found = true; break; } else { parent = curr; if(x > curr->item) { curr = curr-> right; } else { curr = curr-> left; } } } if(!found) { cout<<"De vrethike to stoixeio pou zhthsate"<<endl; return root; }// μέχρι εδώ είναι ο κώδικας που ψάχνει το στοιχείο. if(curr->left != NULL) //εδώ ξεκινάει ο κώδικας της περιστροφής { TreeNode *tmp; // δημιουργία ενός δείκτη σε TreeNode tmp = curr->left; //Βάζει τον tmp να δείχνει στο αριστερό παιδί του στοιχείου που ψάχναμε. curr->left = tmp->right; // Βάζει το στοιχείο που ψάχναμε να δείχνει στο δεξί παιδί του tmp tmp->right = curr; // Το δεξί παιδί του tmp είναι πλέον το στοιχείο που ψάχναμε. if(parent == root)//αμα εδώ βάλω μόνο root = tmp; και βγάλω τα υπόλοιπα if λειτουργεί αλλά { //μόνο αν το χ(curr) είναι η ρίζα root = tmp; } else if(parent->left == curr) { parent->left = tmp; } else { parent->right = tmp; } } else { cout<<"den einai efikth h deksia peristrofh"<<endl; } return root; }
  15. Κατάλαβα τα λάθοι μου... Όντως ο κώδικας είναι πολύ κακογραμμένος τόσο που ακόμα και εγώ μπορώ να το καταλάβω Σε ευχαριστώ πάρα πολύ για τη βοήθεια σου. Τώρα μένει μόνο το σουλούπωμα
  16. Το υπόλοιπο πρόγραμμα τρέχει κανονικά, σίγουρα θέλει λίγο σουλούπομα αλλά δεν έχει θέμα, εκτός απο 2 συναρτήσεις rotate που δεν τις έχω φτιάξει ακόμα αλλά δεν ενοχλούν. Δεν πρέπει να είναι δύσκολο απλά δεν το βλέπω αυτή τη στιγμή. Ανέβασα τον κώδικα εδώ . Για το interval μου εμφανίζει segmentation fault(core dumped). Επίσης αν κάποιος ξέρει που θα μπορούσα να βρω ένα καλό παράδειγμα να καταλάβω το rotation θα του ήμουν πολύ ευγνώμων.
  17. Καλησπέρα προσπαθώ να φτιάξω ένα δυαδικό δένδρο αναζήτησης σε c++ τα έχω κάνει σχεδόν αλλά έχω κολλήσει σε μια συγγεκριμένη συνάρτηση. Η συνάρτηση αυτή πρέπει να προσθέτει σε μία γραμμική λίστα όλα τα στοιχεία του δέντρου στο διάστημα [α, β] , να τυπώνει τη λίστα αυτή και στη συνέχεια να την καταστρέφει(το δένδρο παραμένει αμετάβλητο). Άμα βρείτε κάποιο λαθάκι θα με βοηθήσετε πάρα πολύ να συνεχίσω. void interval(TreeNode *t, int min, int max) // t ριζα δεντρου, min =α και max=β { static int counter = 0; static ListNode *head = NULL; static ListNode *temp2 = NULL; if (t == NULL ) { cout<<"o komvos einai kenos"<<endl; return; } interval ( t->left, min, max); counter= counter + 1; if(t->item >=min || t->item <=max) { ListNode *temp = new ListNode; temp->data = t->item; temp->next = head; head = temp; } interval ( t->right, min, max); if(head != NULL) { cout<<head->data<<endl; temp2 = head->next; do { cout<<temp2->data<<endl; temp2 = temp2->next; }while(temp2->next != NULL); } else cout<<"kenh lista"<<endl; }
  18. Έχω προβληματιστεί πάρα πολύ με το παρακάτω. Θέλω η συνάρτηση Spliter να επιστρέφει 2 Pointer το head1 και το head2. Για να το κάνω αυτό σκεύτικα να φτιάξω άλλο ένα struct με 2 πεδία ptr1 και ptr2. Οπότε στη συνάρτηση δημιουργώ ένα αντικείμενο τύπου ptr, στο πρώτο πεδίο του(ptr1) βάζω το head1 και στο δευτερο πεδίο του(ptr2) το head2. αλλά μου βγάζει σφάλμα ptr does not namy a type. > struct spliter1 //thetika { int item; spliter1 *next; spliter1 *prev; }; spliter1 *head1; spliter1 *tail1; struct spliter2 //arnhtika { int item; spliter2 *next; spliter2 *prev; }; spliter2 *head2; spliter2 *tail2; public: struct ptr { spliter1 *ptr1; //ptr sto thetiko spliter2 *ptr2; //ptr sto arnhtiko }; ptr *retur; ptr* dll::Split() { spliter2 *temp2 = new spliter2; temp = head; do { node *temp = new node if( temp->item < 0 ) { spliter2 *temp1 = new spliter2; if(head2 == NULL) { head2 = temp1; tail2 = temp1; temp1 -> next = NULL; temp1 -> prev = NULL; temp1 -> item = temp -> item; } else { tail2 -> next = temp1; temp1 -> prev = tail2; tail2 = temp1; tail2 -> item = temp -> item; } } else { spliter1 *temp1 = new spliter1; if(head1 == NULL) { head1 = temp1; tail1 = temp1; temp1 -> next = NULL; temp1 -> prev = NULL; temp1 -> item = temp -> item; } else { tail1 -> next = temp1; temp1 -> prev = tail1; tail1 = temp1; tail1 -> item = temp -> item; } } temp = temp -> next; }while(temp != NULL); retur -> ptr1 = head1; retur -> ptr2 = head2; return retur; } Εδώ βάζω και όλο τον κώδικα μπας και χρειαστεί. ps: Πριν βάλω την split στο παιχνίδι δούλευε
  19. Έχω προβληματιστεί πάρα πολύ με το παρακάτω. Θέλω η συνάρτηση Spliter να επιστρέφει 2 Pointer το head1 και το head2. Για να το κάνω αυτό σκεύτικα να φτιάξω άλλο ένα struct με 2 πεδία ptr1 και ptr2. Οπότε στη συνάρτηση δημιουργώ ένα αντικείμενο τύπου ptr, στο πρώτο πεδίο του(ptr1) βάζω το head1 και στο δευτερο πεδίο του(ptr2) το head2. αλλά μου βγάζει σφάλμα ptr does not namy a type. > struct spliter1 //thetika { int item; spliter1 *next; spliter1 *prev; }; spliter1 *head1; spliter1 *tail1; struct spliter2 //arnhtika { int item; spliter2 *next; spliter2 *prev; }; spliter2 *head2; spliter2 *tail2; public: struct ptr { spliter1 *ptr1; //ptr sto thetiko spliter2 *ptr2; //ptr sto arnhtiko }; ptr *retur; ptr* dll::Split() { spliter2 *temp2 = new spliter2; temp = head; do { node *temp = new node if( temp->item < 0 ) { spliter2 *temp1 = new spliter2; if(head2 == NULL) { head2 = temp1; tail2 = temp1; temp1 -> next = NULL; temp1 -> prev = NULL; temp1 -> item = temp -> item; } else { tail2 -> next = temp1; temp1 -> prev = tail2; tail2 = temp1; tail2 -> item = temp -> item; } } else { spliter1 *temp1 = new spliter1; if(head1 == NULL) { head1 = temp1; tail1 = temp1; temp1 -> next = NULL; temp1 -> prev = NULL; temp1 -> item = temp -> item; } else { tail1 -> next = temp1; temp1 -> prev = tail1; tail1 = temp1; tail1 -> item = temp -> item; } } temp = temp -> next; }while(temp != NULL); retur -> ptr1 = head1; retur -> ptr2 = head2; return retur; }
  20. πως μπορώ να διαγράψω τελείως ένα στοιχείο της λίστας; Βρήκα κάποια άρθρα που λένε για τη destroy αλλά δυσκολεύομαι να καταλάβω.
  21. Το google κοντεύει να χαλάσει από τόσο που το έχω χρησιμοποιήσει τις τελευταίες ώρες Απλώς και το σωστό να βρω δε θα είμαι σίγουρος πως είναι αυτό που χρειαζομαί :/ Ευχαριστώ πάντως θα τα κοιτάξω. Επίσης έκανα κάποιες τροποποιήσεις στον κώδικα.
  22. Καλησπέρα προσπαθώ να υλοποιήσω μια ουρά με διπλά συνδεδεμένη λίστα σε c++(πάνω στην οποία έχω λίγες γνώσεις). Αν μπορείτε πείτε μου αν η συνάρτηση enqueue(εισαγωγή στοιχείου στο τέλος της λίστας) είναι σωστή. Αν είμαι σίγουρος πως είναι σωστή θα μου είναι πολύ πιο εύκολο να φτιάξω τις ύπόλυπες συναρτήσεις.(η main είναι υπό κατασκευή ακόμα) > #include <iostream> #include <cstdlib> using namespace std; class dll { private: struct node { int item; node *next; node *prev; }; node *head; node *tail; public: dll(); bool isEmpty(); void Enqueue(int& element); int Dequeue(); int First(); int Last(); int Search(int element); void Print(); void Destroy(); }; dll::dll() { head = NULL; tail = NULL; } bool dll::isEmpty() { return (head == NULL) ? true : false; //Ama iso true alliws false } void dll::Enqueue(int& element) { if(isEmpty()) { node *temp = new node; head = temp; tail = temp; temp -> prev = NULL; temp -> next = NULL; temp -> item = element; } else { node *temp = new node; temp -> item = element; temp -> prev = tail; tail -> next = temp; temp -> next = NULL; tail = temp; } } int main() { dll q; int ch, temp; while(1) { cout<<endl; cout<<" 1. Enqueue "<<endl; cout<<" 1. Dequeue "<<endl; cout<<" 1. First "<<endl; cout<<" 1. Last "<<endl; cout<<" 1. Search "<<endl; cout<<" 1. Split "<<endl; cout<<" 1. Exit "<<endl; cin>>ch; switch(ch) { case 1 : cout<<" dwse mou to x pou tha mpei sto telos :"; cin>>temp; q.Enqueue(temp); break; case 2 : cout<<" diagrafh kai epistrofh tou 1ou :"; temp = q.Dequeue(); cout<<temp; break; case 3 : cout<<" epistrofh tou 1ou stoixeiou :"; temp = q.First(); cout<<temp; break; case 4 : cout<<" epistrofh tou teleutaiou stoixeiou :"; temp = q.Last(); cout<<temp; break; case 5 : cout<<" dwse x gia anazhthsh :"; cin>>temp; q.Search(temp);//den eimai sigouros meta ti grafw break; case 6 : cout<<" dwse mou to x pou tha mpei sto telos :"; cin>>temp; q.Enqueue(temp); break; case 7 : cout<<" exiting :"; system("pause"); return 0; break; } } }
  23. realez

    C++ stack array απορία

    Το "πρόβλημα'' είναι στο πως συνδέονται όποτε πρέπει να τα ποστάρω όλα( και αν δώσει κάποιος τα ίδια μπορεί να μηδενιστώ ). Θα κοιτάξω αυτό που μου έστειλες ευχαριστώ.
  24. Καλησπέρα, έχω φτιάξει μία εργασία σε c++ (με το geany) η οποία έχει να κάνει με Stack array και postfix. Λειτουργεί "σωστά" δηλαδή τα αποτελέσματα είναι μια χαρά απλώς η συνάρτηση Top() που επιστρέφει το πάνω πάνω στοιχείο της στοίβας με τον τροπο που έχω κάνει έιναι άχρηστη . Επίσης εμφανίζει exception μόνο stackoverflow και underflow αλλά όχι emptystackexception. Το πρόβλημα έιναι πως ο καθηγητής ζητάει να υπάρχουν όλες οι συναρτήσεις που χρησιμοποιεί μια στοίβα. Αν υπάρχει κάποιος να του στείλω την εργασία(λίγες γραμμές και αρκετά απλή) να μου πει πως μπορώ να βάλω στο παιχνίδι και την Top(), γιατί μετά από τόσες ώρες μου φένονται κινέζικα, θα του ήμουν πολύ ευγνώμων. Ευχαριστώ
  25. Ευχαριστώ τώρα το πέτυχα..πριν δεν έβαλα το κενό.
  • Δημιουργία νέου...