Δισδιάστατος πίνακας με μεταβλητό αριθμό στηλών

Ξεκίνησε από vaiosz, 23 Μαρ 2012, 03:20:05 ΜΜ

« προηγούμενο - επόμενο »

vaiosz

Συνάδελφοι καλησπέρα θα ήθελα να μου απαντήσει κάποιος αν μπορεί στο εξής ερώτημα: Είναι δυνατόν να έχουμε δισδιάστατο πίνακα όπου η μια εκ των δύο διαστάσεων μεταβάλλεται; Για παράδειγμα αν έχουμε σε έναν πίνακα τους μήνες και τις ημέρες ενός έτους, η μια διάσταση που είναι οι μήνες (γραμμές) είναι σταθερή (12), αλλά η δεύτερη διάσταση (στήλες) που θα είναι το πλήθος των ημερών του κάθε μήνα θα διαφέρει από γραμμή σε γραμμή αφού εξαρτάται τόσο από το αν το έτος στο οποίο αναφερόμαστε είναι δίσεκτο ή όχι αλλά και από τον μήνα στον οποίο αναφερόμαστε. Αρχικά βέβαια ο πίνακας μπορεί βέβαια να δηλωθεί με το μέγιστο αριθμό γραμμών και στηλών π.χ. Π[12,31] αλλά κατά τη δημιουργία του η κάθε γραμμή θα διαθέτει διαφορετικό αριθμό στηλών δλδ., κατ'ουσία σε κάθε επανάληψη θα έχουμε διαφορετικό j και αναρωτιόμουν αν κάτι τέτοιο είναι εφικτό ειδικά σε μια στατική δομή δεδομένων όπως οι πίνακες. Κάθε βοήθεια και γνώμη ευπρόσδεκτη!
Μηχανικός Η/Υ Συστημάτων

gpapargi

Όχι δεν γίνεται γιατί ο πίνακας στη ΓΛΩΣΣΑ είναι στατική δομή. Αυτό που γινεται είναι να κρατάς σε πίνακα το πλήθος των ημερών κάθε μήνα για να ξέρεις που θα σταματάει η σάρωση κάθε γραμμής.
Αν θέλεις ρίξε μια ματιά στο θέμα 4 των επαναληπτικών του 2007.

vaiosz

Μηχανικός Η/Υ Συστημάτων

ipoulis

#3
Συμφωνώ δεν μπορείς να έχεις διαφορετικού μεγάθους γραμμές ΑΛΛΑ
μπορείς να έχεις πίνακα Π[12,31] όπου κάθε γραμμή να έχει διαφορετικό
πλήθος δεδομένων.
Έχει πέσει κάτι τέτοιο με Π[12, 31] το 2007 στα επαναληπτικά με ένα
ορνιθοτροφείο (ίσως η δυσκολότερη ever).
Δημιουργεί πίνακα ΗΜ[12] με το πλήθος ημερών κάθε μήνα και οι επόμενες
δομές είναι
Για α από 1 μέχρι 12
   Για β απο 1 μέχρι ΗΜ[α]
       κλπ
Θεωρώ ότι οι Δισδ με άλλο πλήθος δεδομένων ανα γραμμή πολύ!!!!! καλό
θέμα .

π.χ. Διάβασε για κάθε γραμμή τα στοιχεία της και σταμάτα όταν γεμίσει
η γραμμή ή δοθεί μια τιμή φρουρός. Οπότε μισογεμίζεις τη γραμμή και
αποθηκεύεις το πλήθος σε έναν μονοδιάστατο......κλπ