sonyxp Δημοσ. 29 Μαΐου 2013 Δημοσ. 29 Μαΐου 2013 Δεν έχω ασχοληθεί και πολύ με Header files! Θέλω να - Δημιουργήσω ένα αντικείμενο MyTree *Tree στο αρχείο main.cpp - Θα περάσω το αντικείμενο αυτό σαν παράμετρο στην συνάρτηση BuildHuffmanTree(MyTree* T, ....) ΠΟΥ ΒΡΙΣΚΕΤΑΙ ΣΤΟ Tree.h - (υλοποείται)Tree.cpp - Θα το αρχικοποιησω - Στην συνέχεια στην main.cpp θέλω να χρησιμποιησω την συναρτηση PrintHuffRoot(MyTree *T) για να εκτυπώσω την ρίζα ΠΡΟΒΛΗΜΑ: Δεν μπορώ να εκτυπώσω (να έχω πρόσβαση) στο δέντρο για να εκτυπώσω την ρίζα στο αρχείο main.cpp στο Tree.cpp μπορώ, δουλεύει μια χαρά!!! αφού το δηλώνω στην Main το (MyTree *T)(και υλοποιείται στην Tree.cpp), γιατί μετά δεν μπορώ να το εκτυπώσω στην Main;;; main.cpp int main() { MyTree *Head; float freq[] = {1, 5, 3} float letters = {'A', 'C', 'F'} // Tree.h -> Declaration // Tree.cpp -> Implementation of this function // Tree.cpp -> Build the huffman tree, I CAN ACCESS Head from Tree.cpp but not from main.cpp BuildHuffman(Head, freq, letters); // ERROR! I CAN'T ACCESS THE TREE FROM HERE PrintHuffRoot(Head); return 0; } Tree
bnvdarklord Δημοσ. 29 Μαΐου 2013 Δημοσ. 29 Μαΐου 2013 Αν έχεις μία κλάση Α, που περιέχει την μέθοδο fun() θα την καλέσεις έτσι Α* obj; obj->fun(); Αυτό το κάνεις γιατί μπορει να έχεις παραπάνω από ένα αντικείμενο τύπου Α. Καλώντας απλά fun() δεν έχει νόημα, καθώς το κάθε αντικείμενο που φτιάχνεις έχει δικά του χαρακτηριστικά. Σχετικά με τον δικό σου κώδικα, δεν ξέρω γιατι περνάς σαν όρισμα το ίδιο το αντικείμενο στον εαυτό του, καθώς στον κώδικα της κλάσης έχεις ήδη πρόσβαση σε αυτό.
sonyxp Δημοσ. 29 Μαΐου 2013 Μέλος Δημοσ. 29 Μαΐου 2013 δεν έχω καν κλάσεις γιατί προσπαθώ να ακολουθήσω όσο μπορώ την σύνταξη της Cάμα ήταν να χρησιμοποιήσω κλάσεις θα ήμουν ευτυχισμένος... Σχετικά με τον δικό σου κώδικα, δεν ξέρω γιατι περνάς σαν όρισμα το ίδιο το αντικείμενο στον εαυτό του, καθώς στον κώδικα της κλάσης έχεις ήδη πρόσβαση σε αυτό. το main.cpp λειτουργεί σαν Interface, δηλαδή εκεί δηλώνουμε τα γράμματα, τις συχνότητες και το δέντρο (ΕΥΚΟΛΗ ΔΙΑΧΕΙΡΗΣΗ ΔΗΛΑΔΗ)γιατί στη συνέχεια θέλω να εκτυπώσω το δέντρο που έφτιαξα από την main.cpp, να περάσω σαν όρισμα το δέντρο που έφτιαξα!!!ΑΛΛΑ έχει θέμα, μου χτυπάει Error (δεν μπορεί να το δει) ενώ εκεί που υλοείται το βλέπει και το εκτυπώνειΑναγκάζομαι λοιπόν να μην δηλώσω καν αντικείμενο δέντρου στην main και απλά ο χρήστης να εισάγει weights και lettersΊσως καλύτερα έτσι! δηλαδή ο χρήστης απλά να περνάει τα δεδομένα (weight & letters) και μετά το Tree.cpp ας κάνει την δουλειά του, τι μας ενδιαφέρει.!!!και η υλοποίηση είναι αλλού
sonyxp Δημοσ. 29 Μαΐου 2013 Μέλος Δημοσ. 29 Μαΐου 2013 Δυαδικό δέντρο, στο Tree.h είναι οι δηλώσεις και στο Tree.cpp είναι η υλοποιηση Header - http://pastebin.com/07xcYhKs CPP - http://pastebin.com/NVZeYAHj
imitheos Δημοσ. 29 Μαΐου 2013 Δημοσ. 29 Μαΐου 2013 Δεν έχω ασχοληθεί και πολύ με Header files! Θέλω να - Δημιουργήσω ένα αντικείμενο MyTree *Tree στο αρχείο main.cpp - Θα περάσω το αντικείμενο αυτό σαν παράμετρο στην συνάρτηση BuildHuffmanTree(MyTree* T, ....) ΠΟΥ ΒΡΙΣΚΕΤΑΙ ΣΤΟ Tree.h - (υλοποείται)Tree.cpp - Θα το αρχικοποιησω - Στην συνέχεια στην main.cpp θέλω να χρησιμποιησω την συναρτηση PrintHuffRoot(MyTree *T) για να εκτυπώσω την ρίζα ΠΡΟΒΛΗΜΑ: Δεν μπορώ να εκτυπώσω (να έχω πρόσβαση) στο δέντρο για να εκτυπώσω την ρίζα στο αρχείο main.cpp στο Tree.cpp μπορώ, δουλεύει μια χαρά!!! αφού το δηλώνω στην Main το (MyTree *T)(και υλοποιείται στην Tree.cpp), γιατί μετά δεν μπορώ να το εκτυπώσω στην Main;;; main.cpp int main() { MyTree *Head; float freq[] = {1, 5, 3} float letters = {'A', 'C', 'F'} // Tree.h -> Declaration // Tree.cpp -> Implementation of this function // Tree.cpp -> Build the huffman tree, I CAN ACCESS Head from Tree.cpp but not from main.cpp BuildHuffman(Head, freq, letters); // ERROR! I CAN'T ACCESS THE TREE FROM HERE PrintHuffRoot(Head); return 0; } Tree Δυαδικό δέντρο, στο Tree.h είναι οι δηλώσεις και στο Tree.cpp είναι η υλοποιηση Header - http://pastebin.com/07xcYhKs CPP - http://pastebin.com/NVZeYAHj Όπως έχουμε πει ξανά, το parsing γίνεται σειρά-σειρά οπότε για να χρησιμοποιήσεις κάτι πρέπει να έχει δηλωθεί πιο πάνω. Υποθέτω πως στο main.cpp κάνεις include το tree.h οπότε το main.cpp γνωρίζει τι μέρος του λόγου είναι το MyTree και επίσης γνωρίζει τι δέχεται και τι επιστρέφει η συνάρτηση BuildHuffman. Δεν βλέπω όμως κάπου να ορίζεις την συνάρτηση PrintHuffRoot. Στο pastebin βλέπω μόνο την συνάρτηση PrintHuffTreeNodes η οποία δεν δέχεται κανένα όρισμα. Που έχεις ορίσει την συνάρτηση PrintHuffRoot ? Αν υπάρχουν και άλλα αρχεία που δεν ξέρουμε, βάλε κάπου όλο το κώδικα για να δούμε τι παίζει. Πρώτα όμως πες μας τι μήνυμα λέει ο compiler. ΥΓ: Αφού ονομάζεις τα αρχεία .cpp και, όπως λες, θέλεις να χρησιμοποιήσεις κλάσεις γιατί γράφεις C και όχι C++ ?
sonyxp Δημοσ. 29 Μαΐου 2013 Μέλος Δημοσ. 29 Μαΐου 2013 ΥΓ: Αφού ονομάζεις τα αρχεία .cpp και, όπως λες, θέλεις να χρησιμοποιήσεις κλάσεις γιατί γράφεις C και όχι C++ ? Γιατί είναι εργασία και κάνουμε ΔΔ με C List.h http://pastebin.com/gMNW8jpv List.cpp http://pastebin.com/ePACDtMi Tree.h http://pastebin.com/yz64Bci8 Tree.cpp http://pastebin.com/78M8h0KJ Main.cpp http://pastebin.com/DrVNW2Hi Νομίζω ότι το σωστό είναι να μην δηλώσω κάποιο BTree στο main, ο "χρήστης" απλά να δίνει να δεδομένα "weight & letter" και να χρησιμοποιεί τα Interfaces-Συναρτήσεις Δεν χρειάζεται δηλαδή να κατασκευάσει κάποιο δέντρο αυτός και να το περάσει σαν παράμετρο, αυτό πρέπει να το κάνει μόνο του! Το κακό με αυτό είναι ότι δεν μπορώ να τρέξω αναδομικό κώδικα, ήθελα να φτιάξω μια συνάρτηση που με αναδρομικό τρόπο (Post, In, Pre) θα εκτύπωνε το δέντρο. Για την ώρα στο Tree.cpp έχω σαν Global μεταβλητή το Δέντρο που χτίζω, αν και θα μπορούσα να το έχω σαν Global και να κάνω την συνάρτηση να το πάρει σαν παράμετρο (λίγο κουφό! γιατί χάνεται η ένοια του Globaling, αλλά τι να κάνουμε!) Με λίγα λόγια, το δέντρο χτίζεται στο Tree.cpp και εκεί μπορώ να έχω πρόσβαση (να δω, εκτυπώσω τα Nodes), σε άλλα αρχεία δεν μπορώ... Για αυτό λέω ότι θα ήταν ευχής έργο να μπορούσα να χρησιμοποιήσω κλάσεις
imitheos Δημοσ. 29 Μαΐου 2013 Δημοσ. 29 Μαΐου 2013 Τι πρόβλημα παίρνεις στον compiler ? Σε μένα έγινε compile κανονικά και το εκτελέσιμο δίνει: List Items: 0.1000 ... (νούμερα) .... 1.0000
sonyxp Δημοσ. 29 Μαΐου 2013 Μέλος Δημοσ. 29 Μαΐου 2013 ναι γιατί το δέντρο δημιουργείται στο Tree.cpp και το εκτυπώνεις απο εκεί Για δοκίμασε να φτιάξεις ένα δέντρο στην Main και να περάσεις το δέντρο σαν παράμετρο στην συνάρτηση BuildHuffmanTree που βρίσκεται στο Tree.cpp Κοίτα τι γίνεται Το δέντρο δημιουργείται, γίνονται οι συνδέσεις των Nodes (Left Right), ΤΑΥΤΟΧΡΟΝΑ ΟΜΩΣ τα Nodes υπάρχουν αποθηκευμένα και στη λίστα για περαιτέρω χρήση (πχ με κάποιον μηχανισμό να βρω τα 0-1). Αυτό που βλέπεις είναι το δέντρο αποθηκευμένο σε λίστα, δηλαδή τα Nodes Το πρόβλημα που έχω (είχα ας πούμε) είναι ότι λίγο πριν το τέλος της συνάρτησης BuildHuffmanTree(BTree *TNode, .....) Linkara το Tree Node (TNode) να δείχνει στο τελευταίο Node Που δημιουργείται από την πρόσθεση των 2 μικρότερων - Το αντικείμενο TNode το είχα δημιουργήσει στην Main.cpp και απλά καλούσα την BuildHuffmanTree και εκτός από τους χαρακτήρες και τα βάρη πέρναγα και το δέντρο που ήθελα να χτιστεί #include <stdio.h> #include "List.h" #include "Tree.h" int main() { // WARNING! HERE IS MY PROBLEM // I DECLEARE TREE IN main.cpp AND I SEND IT TO Tree.cpp::BuildHuffmanTree(...) to BUILD the TREE // TO DEDRO DHMIOYRGEITAI MIA XARA STO Tree.cpp ALLA OTAN ERTHEI H ORA KAI GYRISW PISW STHN main.cpp // KAI ERTHEI H ORA NA EKTELESTEI TO PrintHuffTreeNodes(T); <----- MOY XTYPAEI ERROR!!! DEN MPORW NA DW TO DEDRO (T) // POU EXW DHLWSEI STH MAIN ALLA ARXIKOPEITAI-DHMIOYRGEITAI STHN Tree.cpp, // Sto Tree.cpp Borw na to Dw!!!! BTree *T; T = (BTree *)malloc(sizeof(BTree)); // The Data we will use for our program float Weights[] = { 0.20f, 0.1f, 0.3f, 0.25f, 0.15f }; char Letters[] = { 'A', 'B', 'C', 'D', 'E' }; char* Text = "ABCDEEADBCA"; // Create Huffman Tree BuildHuffmanTree(T, Weights, Letters); // Print Huff Tree Nodes // Function Declaration: void PrintHuffmanTree(BTree *Tree); // THIS FAILS!!! PrintHuffTreeNodes(T); // TODO: Create 0101 Codes return 0; } ΥΓ: Ένα μικρό Bug (μην δίνεται σημασία) Node->Weight = Weights[i]; Node->Letter = Letters[i]; Node->Letter = '0'; // ΟΥΠΣ! Πρέπει να γίνει Node->Weight = Weights[i]; Node->Letter = Letters[i]; Node->Code = "";
imitheos Δημοσ. 30 Μαΐου 2013 Δημοσ. 30 Μαΐου 2013 // KAI ERTHEI H ORA NA EKTELESTEI TO PrintHuffTreeNodes(T); <----- MOY XTYPAEI ERROR!!! DEN MPORW NA DW TO DEDRO (T) Ε πες μας όμως τι στο καλό error βαράει. 10 φορές ρώτησα Κάνοντας τις απαραίτητες αλλαγές (δηλαδή δηλώνοντας το T στην main όπως το έχεις τώρα και αλλάζοντας τις δηλώσεις των συναρτήσεων ώστε να δέχονται ένα όρισμα BTree *) γίνεται compile και παίρνω το ίδιο αποτέλεσμα με πριν. Οι δομές και η υλοποίηση του κώδικα δεν μου πολύ-άρεσε αλλά αυτό είναι άσχετο. 1
παπι Δημοσ. 30 Μαΐου 2013 Δημοσ. 30 Μαΐου 2013 Ε πες μας όμως τι στο καλό error βαράει. 10 φορές ρώτησα Μπεσα τωρα. Γιατι ποτε δεν ποσταρουν τα παραπονα του compiler; Να'γραφε σε c++ και να του πεταξει καμια εκθεση απο τα template το καταλαβαινω, αλλα απο c? και μαλιστα απο linker.... τι να πω
sonyxp Δημοσ. 30 Μαΐου 2013 Μέλος Δημοσ. 30 Μαΐου 2013 Ε πες μας όμως τι στο καλό error βαράει. 10 φορές ρώτησα Κάνοντας τις απαραίτητες αλλαγές (δηλαδή δηλώνοντας το T στην main όπως το έχεις τώρα και αλλάζοντας τις δηλώσεις των συναρτήσεων ώστε να δέχονται ένα όρισμα BTree *) γίνεται compile και παίρνω το ίδιο αποτέλεσμα με πριν. ... Στην κονσόλα εκτυπώνει ότι να ναι Μέσα στο Tree.cpp η παρακάτω εντολή printf("%2.4f ", (*Node)->Weight); Δίνει 1.00 όπου είναι η ρίζα (πολύ σωστά) Μέσα στο Main.cpp η παρακάτω εντολή (ίδια) printf("%2.4f ", (*Node)->Weight); Δίνει -431602080.0000 Οι δομές και η υλοποίηση του κώδικα δεν μου πολύ-άρεσε αλλά αυτό είναι άσχετο. Δεν πειράζει αγαπητέ μου , δεν μπορούμε να αρέσουμε σε όλους, αφού μου αρέσει εμένα έληξε!! δεν έχει σουξου μουξου! (φιλικά πάντα) Τελικά το έφτιαξα (ποτέ δεν είχα καλή σχέση με τους δείκτες) void BuildHuffmanTree(BTree **Node, float* Weights, char* Letters) { //...... *Node = SortedList->HuffData; //...... } void PrintHuffTreeRoot(TreeNode* Node) { printf("Root: %2.4f ", Node->Weight); } int main() { // The Data we will use for our program float Weights[] = { 0.20f, 0.1f, 0.3f, 0.25f, 0.15f }; char Letters[] = { 'A', 'B', 'C', 'D', 'E' }; BTree *T ; T = (BTree *)malloc(sizeof(TreeNode)); // Create Huffman Tree BuildHuffmanTree(&T, Weights, Letters); // Print Huff Tree Nodes PrintHuffTreeRoot(T); // TODO: Create 0101 Codes return 0; } Μην φωνάξετε αλλά! Μήπως είναι καλύτερα να δίνω μόνο τα δεδομένα για την επίλυση ενός προβλήματος? Δηλαδή, ο άλλος ο "χρήστης" να μην δίνει τώρα δέντρα και λουλούδια, απλά να εισάγει τα δεδομένα του που είναι τα γράμματα και οι συχνότητες και να πάρει το αποτέλεσμα! Από την άλλη, το σωστό είναι να δηλώσει αυτός το δέντρο απέξω και να το περνάει στις συναρτήσεις, γιατί μπορεί πχ να φτιάξει 2 δέντρα -- σε περίπτωσω που θέλουμε να φτιάξουμε 2 δέντρα, ο 1ος τρόπος δεν βοηθάει καθόλου γιατί πρέπει να υπάρχει μια ακολουθία στο πως θα εκτελέσουμε τις συναρτήσεις δηλαδή το // Create Huffman Tree BuildHuffmanTree(Weights, Letters); BuildHuffmanTree(Weights2, Letters); // Print Huff Tree Nodes PrintHuffTreeRoot(); ΘΑ έφτιαχνε το πρώτο, μετά θα έφτιαχνε το 2ο και το 1ο θα χανόταν και στο Print θα εκτυπωνόταν το 2ο (άρα καλύτερα να περάσω και το δέντρο σαν όρισμα)
imitheos Δημοσ. 30 Μαΐου 2013 Δημοσ. 30 Μαΐου 2013 Μπεσα τωρα. Γιατι ποτε δεν ποσταρουν τα παραπονα του compiler; Να'γραφε σε c++ και να του πεταξει καμια εκθεση απο τα template το καταλαβαινω, αλλα απο c? και μαλιστα απο linker.... τι να πωΈλα ντε. Και κατεβατό ακόμη να είναι, μέχρι και plugins για αυτόματη αποστολή σε pastebin έχουν κάποια IDE οπότε είναι 3 click δουλειά. Στην κονσόλα εκτυπώνει ότι να ναι Μέσα στο Tree.cpp η παρακάτω εντολή printf("%2.4f ", (*Node)->Weight); Δίνει 1.00 όπου είναι η ρίζα (πολύ σωστά) Μέσα στο Main.cpp η παρακάτω εντολή (ίδια) printf("%2.4f ", (*Node)->Weight); Δίνει -431602080.0000 Δεν πειράζει αγαπητέ μου , δεν μπορούμε να αρέσουμε σε όλους, αφού μου αρέσει εμένα έληξε!! δεν έχει σουξου μουξου! (φιλικά πάντα) Εγώ όταν έκανα τις αλλαγές έπαιξε μια χαρά από το main.cpp. Μήπως άφησες την "global" δήλωση της Node οπότε μέσα στη συνάρτηση δουλεύει με εκείνη και πάλι αντί για την T που δίνεις ως όρισμα για αυτό πετάει μια ό,τι να ναι unitiliazed τιμή ? Χωρίς να ξέρω τι έκανες 1000 λόγοι μπορεί να φταίνε. Όταν κάνεις μια ασαφή ερώτηση και ζητάς βοήθεια για header files ενώ τελικά το πρόβλημά σου δεν είναι λόγω header file, όταν δεν δίνεις errors του compiler, όταν δίνεις το μισό κώδικα, όταν λες ότι σου βγάζει πρόβλημα όταν δουλεύεις στο main αλλά αντί να δώσεις αυτό το κώδικα δίνεις κώδικα στον οποίον δουλεύεις στο Tree και ο οποίος λειτουργεί, πως πρέπει εμείς να βοηθήσουμε ? Να μυρίσουμε τα νύχια μας για να δούμε τι φταίει ? Όταν σε συνδυασμό με όλα τα παραπάνω, ο κώδικας δεν είναι καλογραμμένος κιόλας δυσκολεύεις τον αναγνώστη να κατανοήσει τι θέλεις και να σε βοηθήσει. Εκεί έγκειτο το "δεν μου άρεσε". Εννοείται πως ότι αρέσει σε σένα θα κάνεις. Ούτε μπορώ και ούτε θέλω να σε αναγκάσω να κάνεις κάτι. Εκτός αυτού, "φιλικά πάντα" δεν θα χάσω τον ύπνο μου αν κάποιος γράφει άσχημο κώδικα στο φόρουμ. 2
sonyxp Δημοσ. 30 Μαΐου 2013 Μέλος Δημοσ. 30 Μαΐου 2013 Έλα ντε. Και κατεβατό ακόμη να είναι, μέχρι και plugins για αυτόματη αποστολή σε pastebin έχουν κάποια IDE οπότε είναι 3 click δουλειά. Εγώ όταν έκανα τις αλλαγές έπαιξε μια χαρά από το main.cpp. Μήπως άφησες την "global" δήλωση της Node οπότε μέσα στη συνάρτηση δουλεύει με εκείνη και πάλι αντί για την T που δίνεις ως όρισμα για αυτό πετάει μια ό,τι να ναι unitiliazed τιμή ? Χωρίς να ξέρω τι έκανες 1000 λόγοι μπορεί να φταίνε. Όταν κάνεις μια ασαφή ερώτηση και ζητάς βοήθεια για header files ενώ τελικά το πρόβλημά σου δεν είναι λόγω header file, όταν δεν δίνεις errors του compiler, όταν δίνεις το μισό κώδικα, όταν λες ότι σου βγάζει πρόβλημα όταν δουλεύεις στο main αλλά αντί να δώσεις αυτό το κώδικα δίνεις κώδικα στον οποίον δουλεύεις στο Tree και ο οποίος λειτουργεί, πως πρέπει εμείς να βοηθήσουμε ? Να μυρίσουμε τα νύχια μας για να δούμε τι φταίει ? Όταν σε συνδυασμό με όλα τα παραπάνω, ο κώδικας δεν είναι καλογραμμένος κιόλας δυσκολεύεις τον αναγνώστη να κατανοήσει τι θέλεις και να σε βοηθήσει. Εκεί έγκειτο το "δεν μου άρεσε". Εννοείται πως ότι αρέσει σε σένα θα κάνεις. Ούτε μπορώ και ούτε θέλω να σε αναγκάσω να κάνεις κάτι. Εκτός αυτού, "φιλικά πάντα" δεν θα χάσω τον ύπνο μου αν κάποιος γράφει άσχημο κώδικα στο φόρουμ. Είπα ότι δεν έχω δουλέψει με header files και δεν κάνω σωστές δηλώσεις, αν δεν δηλώσεις κάτι σωστά δεν θα υπάρξει κάποιο ερρορ; Ναι η αλήθεια είναι ότι δεν έδωσα αρκετά στοιχεία για να σας κατατοποιησω Οταν διαβάζεις έναν κώδικα και δεν τον βγάζεις δεν σημαίνει απαραίτητα είναι κακος, απλά αυτό που κάνει είναι δύσκολο! δεν είναι και ότι ποιο εύκολο οι λίστες και τα δέντρα και εγώ στην αρχή έβλεπα Prev = Curr; Curr = Curr->Next; Mitsos = Eleni; Eleni = Eleni + Giorgos και έλεγα τι στο καλό είναι αυτά! Οι λίστες, τα δέντρα και αρκετά άλλα είναι ζόρικα πράγματα που ακόμα και να τα έχεις μάθει, θα πρέπει να κάτσεις στο χαρτί να ζωγραφίσεις για να βγάλεις κώδικα! άρα δεν μπορώ να δεχτώ ότι ο κώδικας είναι κακος(ο κώδικας είναι μέτριος προς καλός), μπορώ να δεχτώ ότι κάποια ονόματα μεταβλητών/συναρτήσεων ίσως θα έπρεπε να είναι πιο περιγραφικά, ότι δεν ακολουθώ κάποιους κανόνες όπως ότι στη δήλωση μεταβλητών, το πρώτο γράμμα είναι με μικρό (TSLList *MyList; // Wrong ..... TSLList *myList; Right). Επίσης έχω πολλά σχόλια, αρκετά από αυτά θα ξηλωθούν όταν τελειώσω το πρόγραμμα, για πες μου όμως! δεν σου έχει τύχη ποτέ να δεις κώδικα από Open-source? να ανοίξεις ένα αρχείο που έχει 2000 γραμμές κώδικα και βλέπεις ότι κάθε συνάρτηση έχει 5-6 γραμμές σχόλια για να εξηγήσει τι κάνει; Γούστα είναι αυτά φίλε μου!
Star_Light Δημοσ. 30 Μαΐου 2013 Δημοσ. 30 Μαΐου 2013 Οχι φιλε μας. Δεν ειναι θέμα γουστου αυτο.... αμα ο κωδικας σου δεν ειναι ευαναγνωστος ο αλλος δεν θα μπει καν στον κοπο να τον διαβάσει. Δυσκολο ειναι για σενα που δεν τα πηγαινεις καλα με τους δεικτες οπως ειπες προηγουμενως ο ιδιος για τους αλλους μπορει να ειναι απλα κακογραμμένο.Δεν καταλαβαινω σε τι οφελει οταν έχεις ξεκαθαρο αδικο να το συνεχιζουμε. Μας περνας για χαζους ή δεν υπολογιζεις αυτα που σου γραψανε ? Δεν το δεχεσαι.... θα πρεπει να το δεχτεις.Οταν έχουμε αδικο δεν το συνεχιζουμε.... θα σε βοηθησει αυτο αυριο μεθαυριο περισσοτερο απο το προγραμματιστικο ταλεντο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα