Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Πολυδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: nikolasmer στις 12 Φεβ 2013, 01:10:42 ΜΜ

Τίτλος: Μεταβαλλόμενο μέγεθος πίνακα
Αποστολή από: nikolasmer στις 12 Φεβ 2013, 01:10:42 ΜΜ
Δεν ήξερα πως να τιτλοφορήσω αυτή μου την απορία.
Έχουμε ενα πίνακα με ημέρες κάθε μηνα και ενα πίνακα με οχήματα που περνάν από τα διόδια κάθε ημέρα του μήνα για ενα χρόνο.
Διαβάζονται τα δεδομένα όπως εδώ:

Για i από 1 μέχρι 12
  Διάβασε ΗΜΕΡ[ i ]                             ! πίνακας με τις ημέρες κάθε μήνα
  Διάβασε ΜΗΝ[ i ]                               ! πίνακας με τα ονόματα κάθε μήνα
  Για j από 1 μέχρι ΗΜΕΡ[ i ]
    Διάβασε ΟΧΗΜ[i, j]             ! πίνακας με οχήματα για κάθε ημέρα κάθε μήνα
  Τέλος_επανάληψης
Τέλος_επανάληψης

Στη Γλώσσα θα έπρεπε να δηλώσουμε το μέγιστο μέγεθος του πίνακα στις στήλες, δηλαδή 31;
Οι τελευταίες θέσεις που μένουν κενές πρέπει να συμπληρωθούν με δεδομένα ή όχι;
Τίτλος: Απ: Μεταβαλλόμενο μέγεθος πίνακα
Αποστολή από: nikolasmer στις 12 Φεβ 2013, 01:26:44 ΜΜ
Ένα παρόμοιο κομμάτι είχαμε ξανασυναντήσει στις επαναληπτικές του 2007 Θέμα 4 Πτηνοτροφική μονάδα.

Συνεχίζοντας θα ήθελα να προσθέσω
Αν μας ζητούσε " και για κάθε ημέρα του έτους να διαβάζει ..." τότε θα έπρεπε να δημιουργήσουμε πίνακα με μέγεθος το άθροισμα όλων των ημερών; Και στη Γλώσσα θα τον δηλώναμε με το μεγαλύτερο μέγεθος που αυτός μπορεί να πάρει;(365)
Τίτλος: Απ: Μεταβαλλόμενο μέγεθος πίνακα
Αποστολή από: petrosp13 στις 12 Φεβ 2013, 01:38:01 ΜΜ
Παράθεση από: nikolasmer στις 12 Φεβ 2013, 01:10:42 ΜΜ
Στη Γλώσσα θα έπρεπε να δηλώσουμε το μέγιστο μέγεθος του πίνακα στις στήλες, δηλαδή 31;

Ναι

Παράθεση από: nikolasmer στις 12 Φεβ 2013, 01:10:42 ΜΜ
Οι τελευταίες θέσεις που μένουν κενές πρέπει να συμπληρωθούν με δεδομένα ή όχι;

Δυο λύσεις
1. Αν ξέρεις πόσες μέρες θα έχει κάθε μήνας, δεν χρειάζεται να συμπληρωθούν οι κενές θέσεις. Απλά, η εσωτερική επανάληψη που αφορά τις στήλες, θα πρέπει να σταματάει στην στήλη που πρέπει
2. Είτε ξέρεις, είτε δεν ξέρεις τον αριθμό των ημερών, μπορείς να τοποθετείς μια συγκεκριμένη τιμή στις κενές θέσεις (π.χ. -1) και σε οποιαδήποτε σάρωση από εκεί και πέρα, να ελέγχεις αν το στοιχείο του πίνακα είναι διαφορετικό της τιμής αυτής (π.χ. Αν Α[i,j] <> -1 τότε)