Title: Απορία για πίνακες!! Post by: princess on April 10, 2006, 16:13:43 pm Λοιπόν, για την εργασία Β ήθελα να ρωτήσω κι εγώ...
:) :) Εχουμε 2 διαφορετικούς πίνακες. Θέλουμε ένα πρόγραμμα που να δημιουργεί καινούριο πίνακα με τα κοινά στοιχεία των παραπάνω. ΠΩΣ?? ;) ;) μπορούμε να το κάνουμε αυτό?? Καμιά ιδέα??? --- edit: Να βαζετε πιο κατατοπιστικους τιτλους!!! Title: Re: Απορία!! Post by: Themis on April 10, 2006, 16:52:48 pm κανε δυο for,τη μια μεσα στην αλλη...και αποθηκευεσε τα κοινα στοιχεια στον over...
Title: Re: Απορία!! Post by: princess on April 10, 2006, 17:00:09 pm Δηλαδή??? ;) ;) Δεν κατάλαβα καλά τι προσπαθείς να πεις!!! Title: Re: Απορία!! Post by: Themis on April 10, 2006, 17:15:42 pm g=0;
for (e=1;e<=n;e++) { for (j=1;j<=m;j++) { if (A[e-1]==B[j-1]) { over[g]=A[e-1]; g++; } } } αφου φυσικα εχεις διαβασει τους πινακες Α,Β Title: Re: Απορία!! Post by: princess on April 10, 2006, 17:48:07 pm if (A[e-1]==B[j-1]) Aυτή η συνθήκη όμως δε σημαίνει ότι ζητάω οι 2 πίνακες να είναι ίδιοι?? Η κάνω λάθος? Αν γράψω δηλαδή το παραπάνω, εξετάζονται τα στοιχεία του πίνακα ένα ένα, και όχι ολόκληρος ο πίνακας?? ::) ::) Title: Re: Απορία!! Post by: Themis on April 10, 2006, 17:59:06 pm Περσι ησουν θετικη,ε?...Ναι ελεγχει ενα ενα τα στοιχεια των δυο πινακων...
Title: Re: Απορία!! Post by: princess on April 10, 2006, 18:02:50 pm Ναι, ήμουν στη θετική!! ::) ::) Title: Re: Απορία!! Post by: princess on April 10, 2006, 18:11:18 pm Για τα στοιχεία των πινάκων που δεν είναι ίδια, τι μπορούμε να κάνουμε?? Υπάρχει η έννοια του διάφορου =/ στη C?? Mε ποιο συμβολισμό?? ::) ::) Title: Re: Απορία!! Post by: Themis on April 10, 2006, 18:21:46 pm δεν γινεται με το διαφορο...πρεπει να φυγω τωρα οως και η λυση ειναι λιγο πιο συνθετη και δεν προλαβαινω να σου την εξηγησω...
Title: Re: Απορία!! Post by: princess on April 10, 2006, 18:26:54 pm Thanks!!! Για τις συμβουλές πάντως!!! Σαν να αρχίζουν να ξεκαθαρίζουν τα πράγματα ;) ;) ;) Title: Re: Απορία!! Post by: Appelsinpiken on April 10, 2006, 20:52:12 pm for (e=1;e<=n;e++) Μια συμβουλή πριγκίπισσα, αν και λεπτομέρεια:{ for (j=1;j<=m;j++) { στην ανισότητα από το παραπάνω for ΔΕΝ πρέπει να βάλεις ισότητα και αρχικές τιμές για το e και j αντίστοιχα πρέπει να είναι το 0 !!!! Title: Re: Απορία!! Post by: Themis on April 11, 2006, 02:44:22 am e=1 αρχικα και A[e-1] αν προσεχες...και η ισοτητα χρειαζεται...
Title: Re: Απορία!! Post by: princess on April 11, 2006, 10:05:00 am Kαλά, ένα ίσον είναι αυτό όλο κι όλο..., δε θα τα χαλάσουμε εκεί πέρα...!!! :D :D Για τα στοιχεία των πινάκων που δεν είναι ίδια, έχει κανείς καμιά ιδέα??? ::) ::) Title: Re: Απορία!! Post by: Faidon on April 11, 2006, 12:22:21 pm e=1 αρχικα και A[e-1] αν προσεχες...και η ισοτητα χρειαζεται... Συγνώμη κιόλας ballin αλλά η λύση που πρότεινε η Χριστίνα: g=0; for (e=0;e<n;e++) { for (j=0;j<m;j++) { if (A[e]==B[j]) { over[g]=A[e]; g++; } } } Είναι προφανώς πιο οικονομική και είναι αυτή που συνήθως χρησιμοποιείται... Για τα στοιχεία των πινάκων που δεν είναι ίδια, έχει κανείς καμιά ιδέα??? ::) ::) Θα έχεις μία μεταβλητή (π.χ t) που θα της δίνεις την τιμή 0 πριν το 2ο for. Αν στο δεύτερο for τρέξει το if (εντοπίσει ότι η συχνότητα είναι κοινή) τότε θα δίνεις στην t την τιμή 1. Τότε μόλις τελιώσει το δεύτερο for θα κάνεις τον έλεγχο: Αν t=0 (η συχνότητα του Α ήταν διαφορετική από όλες του Β) τότε θα προσθέτεις αυτή τη συχνότητα στον no_free. Υ.Γ. princess, έχει ήδη ανοίξει topic (Εργασία vol B 2006) για την εργασία Β. Γιατί δε στέλνεις εκεί τα μηνύματά σου; Title: Re: Απορία!! Post by: princess on April 11, 2006, 12:59:09 pm Yπάρχει και ο τελεστής != (όχι ίσο) Δεν μπορούμε να χρησιμοποιήσουμε αυτόν??? Title: Re: Απορία για πίνακες!! Post by: Faidon on April 11, 2006, 15:25:52 pm Δε συμφέρει... Θα πρέπει η A[ι] συχνότητα να είναι διαφορετική από κάθε B[j] συχνότητα και αυτό υλοποιείται πιο εύκολα έτσι όπως σου είπα πριν. Δηλαδή αν τύχει η Α[ι] να είναι ίδια με μία B[j] τότε αλλάζεις τιμή σε μία μεταβλητή από 0 σε 1 ώστε να ξέρεις ότι η αναζήτησή σου είχε ως αποτέλεσμα να βρεθεί η συχνότητα A[ι] στον πίνακα B[j] και έτσι να μην την συμπεριλάβεις στον πίνακα no_free[].
Υ.Γ. Οι απορίες σου εξακολουθούν να έχουν θέμα γενικά την Εργασία Β... |