anemelos4 Δημοσ. 24 Νοεμβρίου 2008 Δημοσ. 24 Νοεμβρίου 2008 Επειδη αυτές τις δομές δε τις πηρα με καλό μάτι θα ήθελα λιγη βοηθεια Ενα μέρος της εκφώνησης λεει: Κατασκευάστε µια δοµή (struct) η οποία εκπροσωπεί το αντικείµενό σας και αποτελείται από όλα τα δεδοµένα που χρειάζονται. δηλώσετε ένα πίνακα από τέτοιες δοµές. Κατασκευάστε µια συνάρτηση InitializeObjects() η οποία δεν παίρνει παραµέτρους, δεν επιστρέφει τίποτα και στο σώµα της αρχικοποιεί όλα τα αντικείµενα που είναι αποθηκευµένα στον πίνακα. Χρησιµοποιείστε rand() για να δώσετε τυχαίες - αλλά νόµιµες - τιµές σε Πως γινεται να φτιάξω εναν πινακα με παραπανω απο μια διαφορετικη struct καθως και να αρχικοποιησω τα πεδια καθε struct του πινακα??? Thx
GrandGamer Δημοσ. 24 Νοεμβρίου 2008 Δημοσ. 24 Νοεμβρίου 2008 Θα κάνεις έναν πίνακα τύπου struct <το struct σου> pin[N] και θα τον γεμίσεις. Αφού τον γεμίσεις θα κάνεις μία επανάληψη και θα αρχικοποιείς κάθε αντικείμενο κάπως έτσι: έστω ότι το struct το λέμε node >struct node pin[N];//Το N είναι καλό να το δηλώσεις με define int i; for(i=0;i<N;i++) pin[i].data = rand() αλλά πες μου, όταν λες να εκπροσωπεί το αντικείμενό σας εννοεί να είναι αυτοαναφερόμενη δομή;
anemelos4 Δημοσ. 25 Νοεμβρίου 2008 Μέλος Δημοσ. 25 Νοεμβρίου 2008 Βασικά εγω θα πρεπει να κανω 4 δομες(με 4 πεδια) και να γεμισω ενα πινακα 4 θεσεων με αυτες και μετα να τις αρχικοποιησω μεσο της συνάρτησης ΙntiliazeObjects. Εγω δε καταλαβαινω πως θα γεμίσω έναν πίνακα με 4 διαφορετικες structs και διαφορετικα πεδια!!
elis88 Δημοσ. 25 Νοεμβρίου 2008 Δημοσ. 25 Νοεμβρίου 2008 Επειδη αυτές τις δομές δε τις πηρα με καλό μάτι θα ήθελα λιγη βοηθεια Ενα μέρος της εκφώνησης λεει: Κατασκευάστε µια δοµή (struct) η οποία εκπροσωπεί το αντικείµενό σας και αποτελείται από όλα τα δεδοµένα που χρειάζονται. δηλώσετε ένα πίνακα από τέτοιες δοµές. Κατασκευάστε µια συνάρτηση InitializeObjects() η οποία δεν παίρνει παραµέτρους, δεν επιστρέφει τίποτα και στο σώµα της αρχικοποιεί όλα τα αντικείµενα που είναι αποθηκευµένα στον πίνακα. Χρησιµοποιείστε rand() για να δώσετε τυχαίες - αλλά νόµιµες - τιµές σε Πως γινεται να φτιάξω εναν πινακα με παραπανω απο μια διαφορετικη struct καθως και να αρχικοποιησω τα πεδια καθε struct του πινακα??? Thx Σύμφωνα με την εκφώνηση πάντως δεν χρειάζεται διαφορετικά struct, άλλα μόνο ένα struct. Και 4 μεταβλητές τύπου του struct που έφτιαξες.
GrandGamer Δημοσ. 25 Νοεμβρίου 2008 Δημοσ. 25 Νοεμβρίου 2008 Βασικά όντως στην εκφώνηση λέει 1 δομή όχι 4. Τώρα αν θες σονυ και καλά να κάνεις 4 struct σε 1 πίνακα υποθέτω ότι μπορείς να κάνεις έναν void πίνακα, αλλά μάλλον δεν κατάλαβες την εκφώνηση.
anemelos4 Δημοσ. 25 Νοεμβρίου 2008 Μέλος Δημοσ. 25 Νοεμβρίου 2008 Βασικα λεει για καθε αντικειμενο οποτε εγω εχω 4 αντικειμενα αλλα θα θελει 4 structs λογικα!
elis88 Δημοσ. 26 Νοεμβρίου 2008 Δημοσ. 26 Νοεμβρίου 2008 Βασικα λεει για καθε αντικειμενο οποτε εγω εχω 4 αντικειμενα αλλα θα θελει 4 structs λογικα! Όχι, θέλει ένα struct. Όταν φτιάχνεις ένα struct, μετά μπορεις να το χρησιμοποιήσεις σαν τύπο, όπω πχ ένα int. Που Χου: > #include <stdio.h> struct mitsos { int data; }; int main() { struct mitsos s1; struct mitsos s2; //Dimiourgithikan loipon dyo antikeimena //kai vazeis times me ton eksis tropo s1.data = 321; s2.data = 856; return 0; } Σε περίπτωση που το αντικείμενο που δηλώνεις είναι pointer τότε η εκχώρηση δεν γίνεται με το: s1.data = 123, αλλά s1->data = 123.
anemelos4 Δημοσ. 26 Νοεμβρίου 2008 Μέλος Δημοσ. 26 Νοεμβρίου 2008 Χμμμ... Και τον πίνακα 4 θέσεων πως θα τον γεμίσω?
elis88 Δημοσ. 26 Νοεμβρίου 2008 Δημοσ. 26 Νοεμβρίου 2008 Χμμμ... Και τον πίνακα 4 θέσεων πως θα τον γεμίσω? Να σου δώσω ένα παράδειγμα: > #include <stdio.h> //ipothetontas oti exoume to strruct pou xrisimopoihsame sto proigoumeno paradeigma int main() { struct mitsos array[4]; array[0].data = 9875; array[1].data = 98742; array[2].data = 212; array[3].data = 89; return 0; } Με αυτόν τον τρόπο μπορείς να γεμίσεις τον πίνακα. Η μόνη διαφορά είναι ότι εσύ πρέπει να χρησιμοποιήσεις την συνάρτηση rand() για να την γεμίσεις... Για να χρησιμοποιήσεις την συνάρτηση rand() πρέπει να κάνεις include <stdlib.h> . Επίσης στο γέμισμα μπορεις αν θες χρησιμοποιήσεις μια δομή επανάληψης(for, while, ..)
anemelos4 Δημοσ. 26 Νοεμβρίου 2008 Μέλος Δημοσ. 26 Νοεμβρίου 2008 Ευχαριστώ παιδια θα το δοκιμάσω αυριο με καθαρο μυαλο και θα επανέλθω αν εχω απορίες ή προβλήματα!!!
elis88 Δημοσ. 26 Νοεμβρίου 2008 Δημοσ. 26 Νοεμβρίου 2008 Ευχαριστώ παιδια θα το δοκιμάσω αυριο με καθαρο μυαλο και θα επανέλθω αν εχω απορίες ή προβλήματα!!! Good Luck !
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.