migf1 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Μάλλον γράφαμε μαζί, οπότε δες παραπάνω. Ή εναλλακτικά βρες με πόση stack τρέχει χωρίς να σκάει και γράψε αυτό στην τεκμηρίωση.
gon1332 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Αν είσαι από Linux, σε bash αυτή η εντολή αλλάζει το μέγεθος της στοίβας: ulimit -s 16000 που σημαίνει ότι το μέγιστο μέγεθος στοίβας είναι 16 MB.
kal03 Δημοσ. 18 Μαΐου 2014 Μέλος Δημοσ. 18 Μαΐου 2014 Βρες μέχρι πόσες αναδρομές αντέχει χωρίς να σκάσει, και γράψτο στην τεκμηρίωση της εργασίας σου. δεν φτάνει μέχρι την αναδρομική συνάρτηση.. το πρόβλημα βγαινει όταν πάω να εισάγω τα στοιχεία με fscanf(...); την οποία την ζητάει και είναι σε ξεχωριστή συνάρτηση
Moderators Kercyn Δημοσ. 18 Μαΐου 2014 Moderators Δημοσ. 18 Μαΐου 2014 Καλά είναι όλα αυτά που σου λένε τα παιδιά, αλλά πρέπει επίσης να σιγουρευτείς ότι η αναδρομή δουλεύει σωστά και τρέχει όσες φορές πρέπει. Όσο και να αυξήσεις το μέγεθος της στοίβας δε θα έχει νόημα αν η αναδρομική συνάρτησή σου δεν έχει σημείο εξόδου. 1
kal03 Δημοσ. 18 Μαΐου 2014 Μέλος Δημοσ. 18 Μαΐου 2014 Αν είσαι από Linux, σε bash αυτή η εντολή αλλάζει το μέγεθος της στοίβας: ulimit -s 16000 που σημαίνει ότι το μέγιστο μέγεθος στοίβας είναι 16 MB. συνδέομαι απομακρυσμένα με μηχάνημα linux και δν αναγνωρίζει την εντολή ulimit (αυτο ειχα προσπαθήσει και πριν)!
gon1332 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 δεν φτάνει μέχρι την αναδρομική συνάρτηση.. το πρόβλημα βγαινει όταν πάω να εισάγω τα στοιχεία με fscanf(...); την οποία την ζητάει και είναι σε ξεχωριστή συνάρτηση Τότε θα μπορούσες να μας παρουσιάσεις αυτή τη συνάρητηση μόνο; Το σημείο στο οποίο σου "σκάει" δηλαδή.
kal03 Δημοσ. 18 Μαΐου 2014 Μέλος Δημοσ. 18 Μαΐου 2014 συναρτηση:int rV(FILE * fp,TS *Elem){ return fscanf(from,"%d",Elem); } κληση if(!yperxeilisi) //to exw orisei se prohgoumenes grammes rV(from,Stoix);to from einai orismeno san FILE *kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int
geomagas Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Τότε θα μπορούσες να μας παρουσιάσεις αυτή τη συνάρητηση μόνο; Το σημείο στο οποίο σου "σκάει" δηλαδή. συναρτηση: int rV(FILE * fp,TS *Elem){ } Κορυφαίο?!?!? :-D :-D 1
gon1332 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 to from einai orismeno san FILE * kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int Έκανες δηλαδή: typedef int TS*; Αυτό κατάλαβα από αυτό που έγραψες. Αν είναι έτσι τότε έπρεπε να γράψεις: return fscanf(from,"%d",&Elem);
migf1 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 συναρτηση: int rV(FILE * fp,TS *Elem){ return fscanf(from,"%d",Elem); } κληση if(!yperxeilisi) //to exw orisei se prohgoumenes grammes rV(from,Stoix); to from einai orismeno san FILE * kai to Stoix san TS * to opoio to ekana me typedef ...kai ousiastika einai int Αυτό το return τι περιμένεις ότι σου επιστρέφει; ΥΓ. Γενικώς πάντως, με τόσο λίγες πληροφορίες είναι έως κι αδύνατον να βοηθήσουμε. 1
kal03 Δημοσ. 18 Μαΐου 2014 Μέλος Δημοσ. 18 Μαΐου 2014 όχι έκανα:typedef int TS; η fscanf δεν καταχωρεί στην μεταβλητή Elem (στην περίπτωσή μας) ένα στοιχείο που είναι στο αρχείο from ?εε αυτό περιμένω να επιστρέψει..Ουσιαστικά οτι παίρνει τιμή η μτβ Elem :/ Αυτό το return τι περιμένεις ότι σου επιστρέφει;
migf1 Δημοσ. 18 Μαΐου 2014 Δημοσ. 18 Μαΐου 2014 Η fscanf() επιστρέφει το πλήθος των στοιχείων που διάβασε, αλλιώς επιστρέφει είτε κάτι μικρότερο είτε EOF. Ο αριθμός που διαβάζεις αποθηκεύεται στο *Elem.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα