Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Σεπ 2011, 18:15

Star_Light έγραψε:επισης μια παρατηρηση

Το

Κώδικας: Επιλογή όλων
typedef struct person
{..... members of structure .....
} kostas;


ειναι αχρειαστο ή καλυτερα ειναι πλεονάζον.

οριστε μια διορθωση του

Κώδικας: Επιλογή όλων
typedef struct {
.... members of structure ....
} kostas ;

Σύμφωνα με τις υποδείξεις των δημιουργών του ANSI standard, το πρέπον είναι:

Κώδικας: Επιλογή όλων

typedef struct kostas {
.... members of structure ....
} Kostas;

Αυτό δηλαδή που είχα γράψει με έντονη γραφή εδώ: viewtopic.php?p=207462#p207462 ως συμβουλή για ευανάγνωστο κώδικα.

Star_Light έγραψε:Ηello Here! :P

Τι να λυσει ο Star_LIght???? Γιατι χαθηκα μεσα στα συμβολα χθες :lol: :lol:

Να γράψεις τον κώδικα της table_fill_randomly() :)

ΥΓ. Πάντως παιδιά, δεν το βλέπω να "τραβάει το έργο"... να πω την αμαρτία μου πίστευα πως θα προχωρούσαμε με πολύ ταχύτερους ρυθμούς, ιδιαίτερα στην αρχή που τα πράγματα είναι πολύ πιο εύκολα από ότι στη συνέχεια... οπότε μάλλον ούτε ο διευθυνσιογράφος δείχνει να ήταν καλή ιδέα :(

Δε ξέρω, ίσως είναι καλύτερη ιδέα να κοιτάξετε μόνοι σας το πρόγραμμα που είχα ποστάρει πριν απο λίγο καιρό με απλές λειτουργίες πάνω σε πίνακες: http://ideone.com/VccYM που είναι πολύ πιο απλό από τον διευθυνσιογράφο και δείχνει απλές λειτουργίες σε πίνακα (εισαγωγή, διαγραφή, ταξινόμηση στοιχείων) και να ποστάρετε τυχόν απορίες σας. Ίσως είναι καλύτερα έτσι. Τον διεθυνσιογράφο θα δω μήπως τον κάνω μόνος μου (άμα τον κάνω θα τον ποστάρω).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 13 Σεπ 2011, 18:23

Δεν γινεται migf1. Βλεπεις πως υπάρχει πολυ ορεξη και διαθεση αλλα και παλι... καταρχην το δικο μου υποβαθρο ηταν μηδενικο στην C και ο χαρακτηρας μου δεν ειναι του στυλ "παρτο - γραψτο" θελω 100% να ξερω τι γινεται αλλιως κατι δεν παει καλα.

ΣΤο μεταξυ εχω αφησει πισω την πτυχιακη... ο καθηγητης δεν ενδιαφερεται... δεν απανταει στα e-mail μου του εχω στειλει ενα απο αυγουστο και αλλο ενα πριν 12 μερες και παλι τιποτα ή θα πρεπει να τσακωθω μαζι του και να βρω αλλον πραγμα που δεν με συμφερει γιατι εχω φτασει στο 50% της εργασιας ως προς την ολοκληρωση της ή θα πρεπει να κοψω το λαιμο μου να ψαξω μονος μου για βιβλιογραφια μαλλον αυτο θα κανω δυστυχως πεταμενος χρονος αλλα τι να γινει? κωλοσυστημα τα ξερουμε τοσα χρονια. ... ο πατερας μου πιεζει να τελειωσω να παω για δουλεια και στρατο. Υπαρχουν θεματα. Μακαρι να μην ειχα αλλες υποχρεωσεις . ΕΠισης τα μαθηματα δικτυων για μενα στην κοινοτητα μια στο τοσο πρεπει να γινονται επειδη εκτος του οτι μ αρεσει να προσφερω δεν μπορω επισης να παιρνω και να μην δινω. ΜΙλαω παντα για μενα. Απλα ξηγιεμαι για να καταλαβεις την σκεψη μου.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Σεπ 2011, 18:33

Δεν σε μέμφομαι ρε συ, ούτε σε κατηγορώ για κάτι! Όλοι μας από κάπου κλέβουμε χρόνο για να γράψουμε εδώ, άλλος περισσότερο άλλος λιγότερο. Απλά σε ότι αφορά το συγκεριμένο νήμα δεν το βλέπω να "περπατάει" και αυτό εξέφρασα, δεν κατηγόρησα κάποιον, αυτό εννοώ :)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Σεπ 2011, 18:41

Ίσως είναι καλύτερα να μιλάμε για πιο "light" θέματα της γλώσσας :)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 13 Σεπ 2011, 19:08

migf1 έγραψε:Δεν σε μέμφομαι ρε συ, ούτε σε κατηγορώ για κάτι! Όλοι μας από κάπου κλέβουμε χρόνο για να γράψουμε εδώ, άλλος περισσότερο άλλος λιγότερο. Απλά σε ότι αφορά το συγκεριμένο νήμα δεν το βλέπω να "περπατάει" και αυτό εξέφρασα, δεν κατηγόρησα κάποιον, αυτό εννοώ :)


Επειδη εχω πιεστει λιγο και αγχωθει με την πτυχιακη για αυτο! Και τι δεν θα εδινα να μην την ειχα.... μακαρι θα ειχα τελειωσει απο περυσι... απο περυσι τον Σεπτεβριο εχω βγαλει τα μαθηματα. Τις βαριεμαι τις θεωρητικες πτυχιακες τους εκει μεσα.
Εκεινο που δεν σκεφτηκα ειναι εσυ πως προλαβαινεις... αληθεια πως προλαβαινεις? που εχεις και την δουλεια... βεβαια εσενα η δουλεια σου θα ειναι εξ ολοκληρου πανω σε αυτο ε? Καθαρος προγραμματιστης της C.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 13 Σεπ 2011, 19:18

Βασικα εγω δεν εχω προβλημα να ασχοληθω με τον διευθυνσιογραφο αλλα πρεπει πρωτα να μεινω σε πιο βασικα θεματα πχ αυτα που εξηγησαμε και ξεκαθαρισαμε χθες... και επισης εχω και αλλα τωρα :lol: :lol:

Κώδικας: Επιλογή όλων
int main(void)
{

kostas someone;

//p=&someone;

struct_function(&someone) ;


printf("%d", someone.age);

return 0;
}


εδω με το printf κανω προσπελαση του μελους someone.age πλεον ετσι???

Και κατι ακομη... αν εγω ηθελα να χρησιμοποιησω τον ιδιο δεικτη που περναω και μεσα στην συναρτηση εδω
για να εχω προσβαση στο στοιχειο της δομης... πως θα μπορουσα να το κανω? Με τον *someone δεν γινεται εδω νομιζω.
χρησιμοποιησα επομενως παλι αυτο

Κώδικας: Επιλογή όλων

int main(void)
{

kostas someone , *p;

p=&someone;

struct_function(&someone) ;


printf("%d", p->age);

return 0;
}


υπαρχει καποια λιγοτερο δυσχρηστη λυση? Τι μπορεις να προτεινεις ?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Σεπ 2011, 19:33

Star_Light έγραψε:
Κώδικας: Επιλογή όλων
int main(void)
{

kostas someone;

//p=&someone;

struct_function(&someone) ;


printf("%d", someone.age);

return 0;
}


εδω με το printf κανω προσπελαση του μελους someone.age πλεον ετσι???

Ναι.

έγραψε:Και κατι ακομη... αν εγω ηθελα να χρησιμοποιησω τον ιδιο δεικτη που περναω και μεσα στην συναρτηση εδω
για να εχω προσβαση στο στοιχειο της δομης... πως θα μπορουσα να το κανω? Με τον *someone δεν γινεται εδω νομιζω.
χρησιμοποιησα επομενως παλι αυτο

Κώδικας: Επιλογή όλων

int main(void)
{

kostas someone , *p;

p=&someone;

struct_function(&someone) ;


printf("%d", p->age);

return 0;
}


υπαρχει καποια λιγοτερο δυσχρηστη λυση? Τι μπορεις να προτεινεις ?

Δεν έχω καταλάβει την ερώτηση.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 13 Σεπ 2011, 19:39

Οκ. Θελω να πω πως τι θα γινοταν για παραδειγμα αν εγω ηθελα μεσα απο την main να μην χρησιμοποιησω τον τελεστη της τελειας για να κανω την προσπελαση σε καποιο μελος της δομης αλλα μου ηρθε να θελησω να κανω προσπελαση με τον τελεστη έμμεσης σχεσης μελους ? ΟΠοτε μεσα στην printf θα χρειαζομουν κατι σε στυλ

Κώδικας: Επιλογή όλων

printf("%μορφοποιηση_δεδομενων", δεικτης -> μέλος_δομης)


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

Να βλεπεις... ειναι λεπτομερειες που αμα δεν ξεκαθαρισω... δυστυχως δεν... στον προγραμματισμο θες δεν θες πρεπει να εισαι ψειρας απο την λιγοστη μου εμπειρια ως τωρα. ΕΤσι καταλαβαινω
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Σεπ 2011, 20:03

Star_Light έγραψε:Οκ. Θελω να πω πως τι θα γινοταν για παραδειγμα αν εγω ηθελα μεσα απο την main να μην χρησιμοποιησω τον τελεστη της τελειας για να κανω την προσπελαση σε καποιο μελος της δομης αλλα μου ηρθε να θελησω να κανω προσπελαση με τον τελεστη έμμεσης σχεσης μελους ? ΟΠοτε μεσα στην printf θα χρειαζομουν κατι σε στυλ

Κώδικας: Επιλογή όλων

printf("%μορφοποιηση_δεδομενων", δεικτης -> μέλος_δομης)

Και πάλι δεν καταλαβαίνω τι ρωτάς. Αν είναι αυτό που πιθανολογώ όμως τότε η απάντηση είναι πως δεν είναι λογικό να ξεκινάς από ποιον συμβολισμό θες να χρησιμοποιήσεις για να καθορίσεις μετά τι τύπο μεταβλητών θα χρησιμοποιήσεις. Το λογικό είναι το ακριβώς ανάποδο, δηλαδή πρώτα κοιτάμε τι τύπος μεταβλητών μας εξυπηρετεί για να λύσουμε το πρόβλημα που έχουμε, και κατόπιν ανάλογα με τον τύπο της κάθε μεταβλητής χρησιμοποιούμε τον συμβολισμό που μας παρέχει η γλώσσα για να αναφερθούμε στη μεταβλητή.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 13 Σεπ 2011, 20:23

Συγνώμη που έλειψα για αυτές τις μέρες αλλά ξέρετε, τα σχολεία άρχισαν :(
Λοιπόν, έφτιαξα έναν κώδικα:
Spoiler: show
Κώδικας: Επιλογή όλων
Bool table_fill_unique_randomly( Table *table, int maxval ) {
int array[maxval],i,i2,random,i3 = maxval;
if(!table || !table->buffer || table->buflen == table->bufmaxlen) return FALSE;
for(i = 0;i < maxval;i++) {
array[i] = FALSE;
}
for(i = 0;i < maxval;i++) {
if(maxval == 0) {
table->buflen = table->bufmaxlen;
return TRUE;
}
do{
random = rand() % maxval + 1;
}while(array[random] != TRUE);

table->buffer[i] = random;
array[random] = TRUE;
}
}
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι