Διαγραφή πολλών στοιχείων ενός πίνακα  Το θέμα επιλύθηκε

...ασύγχρονα μαθήματα γλώσσας C

Re: diagrafi pollaplwn kataxwrisewn C

Δημοσίευσηαπό hacker71 » 01 Δεκ 2011, 15:57

Ok file m kanena provlima ,perimenw. gia na s dwsw na katalaveis egw prepei na kanw auto :

Τώρα που οι πινακίδες είναι ταξινομημένες, αν υπάρχουν πολλαπλές καταχωρήσεις για το ίδιο όχημα, θα
πρέπει να είναι σε διαδοχικές θέσεις του πίνακα. Σκοπός μας είναι να σβήσουμε όλες τις διπλο-
καταχωρήσεις εκτός από μία, στην οποία θα αντιστοιχεί το συνολικό ποσό που οφείλει αυτό το αυτοκίνητο.
Ας υποθέσουμε πως έχετε εντοπίσει ότι οι καταχωρήσεις ανάμεσα στις θέσεις start και end αναφέρονται
όλες στο ίδιο όχημα. Γράψτε αρχικά μια βοηθητική συνάρτηση η οποία παίρνει ως παραμέτρους τον πίνακα
οφειλών και τις θέσεις start και end κι επιστρέφει το άθροισμα των οφειλών για αυτές τις θέσεις.
Ακολούθως, γράψτε μια συνάρτηση που διατρέχει τον πίνακα πινακίδων, εντοπίζει διαδοχικές θέσεις με την
ίδια πινακίδα και τις σβήνει όλες εκτός από μία. Το ίδιο φυσικά γίνεται και στον πίνακα οφειλών στον οποίο
όμως θα αποθηκευτεί το σύνολο των οφειλών (χρησιμοποιήστε τη βοηθητική συνάρτηση).
Μπορείτε είτε να μαρκάρετε τις κενές θέσεις ως "άδειες" ή να μετακινήσετε τα επόμενα κελιά στα
αριστερά , όσες θέσεις χρειάζεται.
hacker71
babeTUX
babeTUX
 
Δημοσιεύσεις: 7
Εγγραφή: 01 Δεκ 2011, 13:02
Εκτύπωση

Re: diagrafi pollaplwn kataxwrisewn C  Το θέμα επιλύθηκε

Δημοσίευσηαπό migf1 » 01 Δεκ 2011, 21:51

hacker71 έγραψε:Ok file m kanena provlima ,perimenw. gia na s dwsw na katalaveis egw prepei na kanw auto :
Spoiler: show
Τώρα που οι πινακίδες είναι ταξινομημένες, αν υπάρχουν πολλαπλές καταχωρήσεις για το ίδιο όχημα, θα
πρέπει να είναι σε διαδοχικές θέσεις του πίνακα. Σκοπός μας είναι να σβήσουμε όλες τις διπλο-
καταχωρήσεις εκτός από μία, στην οποία θα αντιστοιχεί το συνολικό ποσό που οφείλει αυτό το αυτοκίνητο.
Ας υποθέσουμε πως έχετε εντοπίσει ότι οι καταχωρήσεις ανάμεσα στις θέσεις start και end αναφέρονται
όλες στο ίδιο όχημα. Γράψτε αρχικά μια βοηθητική συνάρτηση η οποία παίρνει ως παραμέτρους τον πίνακα
οφειλών και τις θέσεις start και end κι επιστρέφει το άθροισμα των οφειλών για αυτές τις θέσεις.
Ακολούθως, γράψτε μια συνάρτηση που διατρέχει τον πίνακα πινακίδων, εντοπίζει διαδοχικές θέσεις με την
ίδια πινακίδα και τις σβήνει όλες εκτός από μία. Το ίδιο φυσικά γίνεται και στον πίνακα οφειλών στον οποίο
όμως θα αποθηκευτεί το σύνολο των οφειλών (χρησιμοποιήστε τη βοηθητική συνάρτηση).
Μπορείτε είτε να μαρκάρετε τις κενές θέσεις ως "άδειες" ή να μετακινήσετε τα επόμενα κελιά στα
αριστερά , όσες θέσεις χρειάζεται.


Τελικά ξανάμπλεξα με τη δουλειά και πριν από λίγο ευκαίρησα να το κοιτάξω.

Ελπίζω πάντως να μην περίμενες πως θα σου γράψω κώδικα για το συγκεκριμένο θέμα, πόσο μάλιστα σύμφωνα με τις συγκεκριμένες προδιαγραφές. Αυτό που μπορώ κι έκανα, είναι να σου γράψω γενικό κώδικα που κάνει αυτό που θέλεις, κι από εκεί και πέρα είναι στο χέρι σου να το φέρεις στα μέτρα σου (και στις προδιαγραφές της συγκεκριμένης άσκησης).

Σου έχω γράψει αναλυτικά σχόλια στα Ελληνικά πάνω από κάθε συνάρτηση (και Αγγλικά one-liners μέσα στις συναρτήσεις). Θεωρώ πως ο πίνακας από strings όταν δεν είναι γεμάτος έχει συνεχόμενα κενά strings στο τέλος του ( *string == '\0'). Ακολούθησε το παρακάτω link για να δεις τον κώδικα, καθώς και δείγμα από την έξοδό του (κάτω-κάτω)...

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

Re: diagrafi pollaplwn kataxwrisewn C

Δημοσίευσηαπό migf1 » 01 Δεκ 2011, 21:57

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

Re: diagrafi pollaplwn kataxwrisewn C

Δημοσίευσηαπό hacker71 » 02 Δεκ 2011, 02:48

File se euxaristw poli gia tn voi8eia , 8a to koitaxw kai 8a to ferw sta metra m! Elpizw na mn xreiastw kati parapanw .
hacker71
babeTUX
babeTUX
 
Δημοσιεύσεις: 7
Εγγραφή: 01 Δεκ 2011, 13:02
Εκτύπωση

Re: diagrafi pollaplwn kataxwrisewn C

Δημοσίευσηαπό linuxs » 12 Ιαν 2012, 12:07

H συζήτηση μεταφέρεται στην υποκατηγορία Μαθήματα C

Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Προηγούμενη

Επιστροφή στο Μαθήματα C

cron