_Marios_ Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 1)Παιδια το void ποτε το χρησιμοποιουμε στις συναρτήσεις; 2)
bnvdarklord Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 Για το 2 δεν ξερω αλλα το void το χρησιμοποιείς οταν η εν λόγω συνάρτηση δεν θελεις να επιστρέφει κάποια τιμή(αν εκανες ΑΕΠΠ στο λύκειο void ειναι οι διαδικασίες και μη void οι συναρτησεις)
Pantelwolf Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 1)Παιδια το void ποτε το χρησιμοποιουμε στις συναρτήσεις;2) 1) Όταν η συνάρτηση δεν επιστρέφει τιμή (πριν) ή δεν δέχεται ορίσματα (μετά στην παρένθεση) 2) Αυτό είναι παράδειγμα επιστροφής μιας συνάρτησης με void μπροστά damn... answer preempted Περισσότερα εδώ
_Marios_ Δημοσ. 17 Ιουνίου 2010 Μέλος Δημοσ. 17 Ιουνίου 2010 Παιδια να ρωτησω.. το παρακάτω προγραμμα ποσο θα το βαθμολογούσατε με αριστα το 10.. εχει κάποια λάθη.. η εκφώνηση ειναι να φιαξουμε πρόγραμμα που υπολογι2ει το Α=χ*χ+χ+(a+*c σε συναρτηση calc για χ απο 1 μεχρι 10.τα a, b, c τα δινει ο χρήστης μια φορα. Το εχω γράψει απλα εχω καποια λαθάκια και θελω να μου πείτε πόσο κοστι2ουν.. και ποια ειναι.. >#include <stdio.h> int calc(int a, int b, int c, int x) { int A; A=x*x+x+(a+*c; printf("To A einai %d", A); } main () { int a, b, c, x, i; scanf("%d", a); scanf("%d", ; scanf("%d", c); for(i=1;i=10,++i) { calc(a, b, c, x); } }
bnvdarklord Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 Παιδια να ρωτησω.. το παρακάτω προγραμμα ποσο θα το βαθμολογούσατε με αριστα το 10.. εχει κάποια λάθη..η εκφώνηση ειναι να φιαξουμε πρόγραμμα που υπολογι2ει το Α=χ*χ+χ+(a+*c σε συναρτηση calc για χ απο 1 μεχρι 10.τα a, b, c τα δινει ο χρήστης μια φορα. Το εχω γράψει απλα εχω καποια λαθάκια και θελω να μου πείτε πόσο κοστι2ουν.. και ποια ειναι.. To μονο λάθος που βλέπω ειναι οτι εχεις βαλει την συναρτηση calc να επιστρέφει τιμή αλλα δεν επιστρέφεις τίποτα. Θα πρεπει αντι για printf μεσα στην calc να βαλεις return A; και μετα στην Main στο for αντι για calc(a,b,c,x) να βαλεις prinf("%d", calc(a,b,c,x)); Αντι για αυτό αρκει να βαλεις την calc ως void αλλα νομιζω καλυτερα να επιστρεφει την τιμή.
_Marios_ Δημοσ. 17 Ιουνίου 2010 Μέλος Δημοσ. 17 Ιουνίου 2010 Δε μπορει η calc να τυπώσει το A; Ξανα τσέκαρέ το μια.. ενα βαθμό;
_Marios_ Δημοσ. 17 Ιουνίου 2010 Μέλος Δημοσ. 17 Ιουνίου 2010 Παιδια ευχαριστώ για τις απαντήσεις απλα θα ήθελα να μου πείτε ποσο θα βαθμολογούσατε αυτο που έχω γράψει με αριστα το 10.
imitheos Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 Παιδια ευχαριστώ για τις απαντήσεις απλα θα ήθελα να μου πείτε ποσο θα βαθμολογούσατε αυτο που έχω γράψει με αριστα το 10. Τι σημασία έχει η βαθμολογία ? Άλλωστε δεν ξέρεις τον καθένα μας. Μπορεί να είμαστε καρα άσχετοι. Όσον αφορά το πρόγραμμα, έχει κάποια χαζά λάθη που υποθέτω σου ξέφυγαν λόγω βιασύνης. > #include <stdio.h> int calc(int a, int b, int c, int x) { int A; A=x*x+x+(a+*c; printf("To A einai %d", A); } main () { int a, b, c, x, i; scanf("%d", a); scanf("%d", ; scanf("%d", c); for(i=1;i=10,++i) { calc(a, b, c, x); } } 1) Οι δηλώσεις της scanf όπως είπα και πριν. 2) Το δεύτερο όρισμα της for είναι έλεγχος, οπότε το i=10 πρέπει να γίνει i<=10 3) Στο 3ο όρισμα της for έχεις κόμμα αντί για ερωτηματικό. 4) Ενώ η ανακύκλωση χρησιμοποιεί την μεταβλητή i, καλείς την calc με x. Μπορείς να το κάνεις calc(a,b,c,i) 5) Όπως είπε και ο bnvdarklord, η calc σου δεν επιστρέφει τίποτα. Μπορείς είτε να την δηλώσεις void, ή όπως την έχεις να μην τυπώνει η calc αλλά να επιστρέφει το A. Edit: 6) Ξέχασα να αναφέρω ότι η main πρέπει να δηλώνεται int και να επιστρέφει κάτι στο τέλος.
_Marios_ Δημοσ. 17 Ιουνίου 2010 Μέλος Δημοσ. 17 Ιουνίου 2010 Η calc δε θέλω να επιστρέφει κατι παιδια. Αυτο που εχω κάνει θελω να κάνει οταν φτάνει το προγραμμα σε αυτη να τρεχει και να τυπώνει το Α. Γιατι θέλει i<=10 αφου απο ενα μεχρι 10 θέλω
imitheos Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 Η calc δε θέλω να επιστρέφει κατι παιδια. Αυτο που εχω κάνει θελω να κάνει οταν φτάνει το προγραμμα σε αυτη να τρεχει και να τυπώνει το Α. Τότε δήλωσε την ως void. Γιατι θέλει i<=10 αφου απο ενα μεχρι 10 θέλω Στο βιβλίο ή το άρθρο ή όπου διαβάζεις C, δες την σύνταξη της for. Η δική σου for σε πιο απλή μορφή είναι η ακόλουθη: > i=1; while (i=10) { calc(a, b, c, x); ++i; } Η ανακύκλωση κάθε φορά θα θέτει την τιμή 10 και δεν θα τελειώσει ποτέ.
Pantelwolf Δημοσ. 17 Ιουνίου 2010 Δημοσ. 17 Ιουνίου 2010 Η calc δε θέλω να επιστρέφει κατι παιδια. Αυτο που εχω κάνει θελω να κάνει οταν φτάνει το προγραμμα σε αυτη να τρεχει και να τυπώνει το Α. Γιατι θέλει i<=10 αφου απο ενα μεχρι 10 θέλω Αν δε θες να επιστρέφει κάτι τότε θα την δηλώσεις ως void calc(int a, int b, int c, int x) και όχι ως int , το int στην αρχή σηλώνει οτι η συνάρτηση επιστρέφει τιμή! (το ένα θα λειτουργήσει ως υποπρόγραμμα το άλλο ως συνάρτηση με μια πιο προς BASIC έννοια) Επίσης πρέπει να βάλεις i<=10 γιατί το κομμάτι ανάμεσα στα 2 ; στη for είναι η "Συνθήκη επανάληψης" , τι πρέπει να ισχύει δλδ για να ξαναμπεί μέσα στη for. αν βάλεις i=10 δε θα εκτελεστεί για i=2 πχ και θα τελειώσει πρόωρα η λούπα.
imitheos Δημοσ. 19 Ιουνίου 2010 Δημοσ. 19 Ιουνίου 2010 file apla einai simadiko gia emena. pes mou re paidi m ena va8mo.. Όπως είπα και πριν, δεν ξέρεις τις γνώσεις μου οπότε η βαθμολογία μου δεν έχει μεγάλη βαρύτητα. Εφόσον όμως θέλεις ενδεικτικά μια βαθμολογία, ορίστε. Έτσι όπως ήταν η αρχική μορφή είχε χαζό-λάθη αλλά και θεμελιώδη λάθη οπότε 2. Αν γίνουν οι αλλαγές που είπαμε όλα τα παιδιά τότε θα γίνει αξιοπρεπές και για τα δεδομένα της εκφώνησης 8-9
Directx Δημοσ. 19 Ιουνίου 2010 Δημοσ. 19 Ιουνίου 2010 Αν παρέδωσες αυτόν τον κώδικα όπως τον ανάρτησες εδώ δύσκολα να πάρεις έστω και την βάση (5) εκτός και αν είσαι σε τμήμα αρχάριων στην C ή στον προγραμματισμό γενικά, οπότε εκεί έχεις ενδεχομένως κάποιες ελπίδες ειδικά αν συνδυαστεί με κατανόηση από τον καθηγητή (επίσης το τι σας δίδαξε και πως..) και το γενικότερο (χαμηλό) επίπεδο των υπόλοιπων μαθητών του τμήματος σου , διαφορετικά κόπηκες
^LeoNine^ Δημοσ. 20 Ιουνίου 2010 Δημοσ. 20 Ιουνίου 2010 Η calc δε θέλω να επιστρέφει κατι παιδια. Αυτο που εχω κάνει θελω να κάνει οταν φτάνει το προγραμμα σε αυτη να τρεχει και να τυπώνει το Α. Γιατι θέλει i<=10 αφου απο ενα μεχρι 10 θέλω γιατί στο 9 θα σταματήσει 1,2,3,4,5,6,7,8,9 άρα 9 φορές επίσης άμα επιστρέφει η Α τότε απλά θα δείξει σε loop τις επιστροφές, δηλαδή τις τιμές..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.