files kai array

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
ntenis80
Δημοσιεύσεις: 20
Εγγραφή: 15 Φεβ 2004 20:13

files kai array

Δημοσίευση από ntenis80 » 09 Οκτ 2007 14:58

geia sas
exo ena provlimataki....exo ena arxeio keimenou k 8elo na to antigrapso se ena allo arxeio alla oi lekseis na emfanizontai ka8ete k se alfavitiki seira...ego skeftika na valo tis lekseis se ena pinaka k na kano ekei taksinomisi..alla de ksero pos ginete...kamia voi8eia???

thx

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

files kai array

Δημοσίευση από Programmer » 10 Οκτ 2007 01:12

den einai diskolo... an den egrafes se greeklish... mporei...

ntenis80
Δημοσιεύσεις: 20
Εγγραφή: 15 Φεβ 2004 20:13

files kai array

Δημοσίευση από ntenis80 » 11 Οκτ 2007 16:40

an to provlima sou gia na mou eksigiseis einai ta greeklish tote thx..............

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

files kai array

Δημοσίευση από nirvana » 11 Οκτ 2007 17:47

Αυτο που λες, με τον πινακα γινεται και ειναι σχετικά ευκολο. Δηλ. να εχεις ενα πινακα mXn m= αριθμο λεξεων και n= αριθμο γραμμάτων τις μεγαλυτερης σου λεξης. Αλλα πρεπει να σκεφτεις το εξης: Ο πινακας ειναι μια στατικη δομη δεδομενων που μπαινει στη ram σου ετσι ακριβως οπως είναι οποτε αν ο χρήστης σου δωσει ενα αρχειο για sort μεγέθους 500Mb το λειτουργικο συστημα πρεπει να βρει ενα ακεραιο κομμάτι μνημης 500Mb τουλαχιστον. Αυτο σημαινει οτι κατι θα κλατάρει.

Αυτο που μου έρχεται στο μυαλο ειναι να κανεις read το original αρχειο και να βαλεις σε ενα temp αρχειο καταρχην τους αριθμους (ή τα Α, α). Υστερα παιρνεις αυτο το αρχειο και σε ενα 2ο temp κανεις sort μεχρι το δευτερο γραμμα των λεξεων που αρχιζουν με 'a', μετα το 3ο κ.ο.κ. Οταν τελειωσουν τα 'a' ανοιγεις με append το αρχειο προορισμου και τα βαζεις. Ιδια διαδικασία με τα 'b' κ.λ.π.

Λογικά θα υπαρχει και πιο εξυπνος τροπος ο οποιος δεν μου ερχεται.
Για να κανεις sort γραμματα χρησιμοποίησε τον πινακα ascii. Δηλαδη το a εχει τιμή π.χ. 52 το b 53 το c 54 κλπ

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

files kai array

Δημοσίευση από dva_dev » 11 Οκτ 2007 18:02

Το πρόβλημα είναι πρώτον ότι δεν είναι εύκολο να διαβάσουμε γρεεκλιση και δεύτερον και σημαντικότερο ότι από αυτά που γράφεις δεν βγαίνει νόημα.

ntenis80
Δημοσιεύσεις: 20
Εγγραφή: 15 Φεβ 2004 20:13

files kai array

Δημοσίευση από ntenis80 » 11 Οκτ 2007 20:57

to an de vgainei noima einai allo apo to oti grafo sta greeklish..................tora allo 8ema einai an 8eleis na voi8iseis k allo an apla 8eleis na to paikseis eksipnos....opos vlepo o nirvana k noima evgale k katafere na to diavasei....


thx nirvana...
oi upoloipoi 8a itan kalitera na min apantisoun para na mou ti lene...

thx k pali..

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

files kai array

Δημοσίευση από Programmer » 12 Οκτ 2007 00:27

dva_dev έγραψε:Το πρόβλημα είναι πρώτον ότι δεν είναι εύκολο να διαβάσουμε γρεεκλιση και δεύτερον και σημαντικότερο ότι από αυτά που γράφεις δεν βγαίνει νόημα.
ακριβώς... πρέπει να σέβεσαι και λίγο αυτούς από τους οποίους ζητάς να σε βοηθήσουν... Τα Greeklish σου κάνουν την ανάγνωση ανώφελα δυσκολότερη...
Και διαλέγεις... ή γράφεις σε ελληνικά και πάιρνεις απάντηση από εμένα (που μπορώ να σου την δώσω), ή κρατάς το πείσμα σου και περιμένεις την καλή σου τύχη...

Υ.Γ. αν έχεις εσύ ιδιοτροπίες έχουν και άλλοι....

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

files kai array

Δημοσίευση από Programmer » 12 Οκτ 2007 00:39

nirvana έγραψε:Αυτο που λες, με τον πινακα γινεται και ειναι σχετικά ευκολο. Δηλ. να εχεις ενα πινακα mXn m= αριθμο λεξεων και n= αριθμο γραμμάτων τις μεγαλυτερης σου λεξης. Αλλα πρεπει να σκεφτεις το εξης: Ο πινακας ειναι μια στατικη δομη δεδομενων που μπαινει στη ram σου ετσι ακριβως οπως είναι οποτε αν ο χρήστης σου δωσει ενα αρχειο για sort μεγέθους 500Mb το λειτουργικο συστημα πρεπει να βρει ενα ακεραιο κομμάτι μνημης 500Mb τουλαχιστον. Αυτο σημαινει οτι κατι θα κλατάρει.

Αυτο που μου έρχεται στο μυαλο ειναι να κανεις read το original αρχειο και να βαλεις σε ενα temp αρχειο καταρχην τους αριθμους (ή τα Α, α). Υστερα παιρνεις αυτο το αρχειο και σε ενα 2ο temp κανεις sort μεχρι το δευτερο γραμμα των λεξεων που αρχιζουν με 'a', μετα το 3ο κ.ο.κ. Οταν τελειωσουν τα 'a' ανοιγεις με append το αρχειο προορισμου και τα βαζεις. Ιδια διαδικασία με τα 'b' κ.λ.π.

Λογικά θα υπαρχει και πιο εξυπνος τροπος ο οποιος δεν μου ερχεται.
Για να κανεις sort γραμματα χρησιμοποίησε τον πινακα ascii. Δηλαδη το a εχει τιμή π.χ. 52 το b 53 το c 54 κλπ
@ nirvana

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

Υπάρχουν πολλές λύσεις για μέγεθος αρχείου που υπερβαίνει τις δυνατότητες αποθήκευση του στην μνήμη... Φυσικά για μια τέτοια λύση αυξάνεται η πολυπλοκότητα του αλγορίθμου...

ntenis80
Δημοσιεύσεις: 20
Εγγραφή: 15 Φεβ 2004 20:13

files kai array

Δημοσίευση από ntenis80 » 12 Οκτ 2007 00:59

Programmer έγραψε:
dva_dev έγραψε:Το πρόβλημα είναι πρώτον ότι δεν είναι εύκολο να διαβάσουμε γρεεκλιση και δεύτερον και σημαντικότερο ότι από αυτά που γράφεις δεν βγαίνει νόημα.
ακριβώς... πρέπει να σέβεσαι και λίγο αυτούς από τους οποίους ζητάς να σε βοηθήσουν... Τα Greeklish σου κάνουν την ανάγνωση ανώφελα δυσκολότερη...
Και διαλέγεις... ή γράφεις σε ελληνικά και πάιρνεις απάντηση από εμένα (που μπορώ να σου την δώσω), ή κρατάς το πείσμα σου και περιμένεις την καλή σου τύχη...

Υ.Γ. αν έχεις εσύ ιδιοτροπίες έχουν και άλλοι....
tespa as liksei to 8ema edo....thx poli opoios voi8ise...

Y.G elisa to provlima mou me voi8eia allon pou mporoun na diavasoun greeklish...

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες