pavlos1908 Δημοσ. 11 Ιανουαρίου 2015 Δημοσ. 11 Ιανουαρίου 2015 Καλησπερα, κοιταω τα θεματα 2012-2013 της εξεταστικης της σχολης μου καθως αυριο δινω, και εχω 2 αποριες σε 2 ασκησεις: 1) Ασκηση 2 η (25%) Τι θα εμφανισει το παρακατω προγραμμα; int main() { char c; for(c='a';c<'g';++c) { switch (c) { case('a'): c+=2; case('c'): c+=1; case('d'): c++; printf("%c\n",c--); default:c++; } } printf("***%c",c); return 0; } Θα εμφανισει το εξης; C ***G Αν οχι, θα μπορουσε να μου το εξηγησει καποιος; Και 2) β) Φτιαξτε μια συναρτηση instert_point που θα παιρν ει ως παραμετρους 2 δεκαδικους διπλης ακριβειας,θα δημιουργει ένα δεικτη σε point θα τον αρχικοποιει με τους δοσμενους αριθμους και θα τον επιστρεφει το boldαρισμενο δεν καταλαβαινω κυριως αυτο με την αρχικοποιηση αν μπορουσε να το εξηγησει καποιος.
Moderators Kercyn Δημοσ. 11 Ιανουαρίου 2015 Moderators Δημοσ. 11 Ιανουαρίου 2015 Το 1ο μπορείς να το βάλεις σε έναν debugger και να το πας βήμα-βήμα. Το 2ο σου λέει να φτιάξεις έναν πίνακα από 2 float στον οποίο θα βάζεις τις 2 παραμέτρους.
pavlos1908 Δημοσ. 12 Ιανουαρίου 2015 Μέλος Δημοσ. 12 Ιανουαρίου 2015 Ναι το καταλαβα το 2ο οτι θελει αυτο, το boldαρισμενο δεν καταλαβαινω ακριβως. Θα ειναι δηλαδη αυτο; struck point *insert_point(float x, float y); return *insert_point;
gon1332 Δημοσ. 12 Ιανουαρίου 2015 Δημοσ. 12 Ιανουαρίου 2015 1] LOOP c =================== 0 'a' -> (case('a')) 'c' -> (case('c')) 'd' -> (case('d')) 'e' -> printf("%c\n", 'e'); -> 'd' -> (default) 'e' 1 'f' -> (default) 'g' 2 'h' -> -- exit loop -- printf("***%c\n", 'h'); 2] Εννοεί (χοντρικά): struct Point *insert_point(double x, double y) {// Αρχή bold-αρισμένου struct Point *my_point = δέσμευση ανάλογης μνήμης; my_point->x = x; my_point->y = y; return my_point }// Τέλος bold-αρισμένου Το return που έγραψες δεν έχει νόημα. 1
Moderators Kercyn Δημοσ. 12 Ιανουαρίου 2015 Moderators Δημοσ. 12 Ιανουαρίου 2015 Ναι φαντάζομαι αυτό θέλει.
pavlos1908 Δημοσ. 12 Ιανουαρίου 2015 Μέλος Δημοσ. 12 Ιανουαρίου 2015 οκ καταλαβα το 2ο, οσον αφορα το 1ο, δυο ερωτησεις: Σε αυτο for(c='a';c<'g';++c) ουσιαστικα στην πρωτη επαναληψη δεν γινεται c='b' ή οχι; Επειδη ειναι ++c ρωταω και οχι c++. Επισης για τον ιδιο λογο παει c='h' στο τελος επειδη φτανει στο απο πανω σημειο, αυξανει το c και μετα ελεγχει αν c<'g' σωστα;
gon1332 Δημοσ. 12 Ιανουαρίου 2015 Δημοσ. 12 Ιανουαρίου 2015 οκ καταλαβα το 2ο, οσον αφορα το 1ο, δυο ερωτησεις: Σε αυτο for(c='a';c<'g';++c) ουσιαστικα στην πρωτη επαναληψη δεν γινεται c='b' ή οχι; Επειδη ειναι ++c ρωταω και οχι c++. Επισης για τον ιδιο λογο παει c='h' στο τελος επειδη φτανει στο απο πανω σημειο, αυξανει το c και μετα ελεγχει αν c<'g' σωστα; Δεν παίζει ρόλο αν είναι ++c ή c++ σε αυτή την περίπτωση. Η αύξηση του c λόγω το ++c θα γίνει στο τέλος του loop.
pavlos1908 Δημοσ. 12 Ιανουαρίου 2015 Μέλος Δημοσ. 12 Ιανουαρίου 2015 οκ καταλαβα, το ιδιο και στο printf που εχει c--, πρωτα το εμφανιζει σαν c και μετα γινεται η μειωση ετσι;
gon1332 Δημοσ. 12 Ιανουαρίου 2015 Δημοσ. 12 Ιανουαρίου 2015 οκ καταλαβα, το ιδιο και στο printf που εχει c--, πρωτα το εμφανιζει σαν c και μετα γινεται η μειωση ετσι; Σωστά. Εδώ όμως παίζει ρόλο αν είναι post ή pre. Αν είχες --c, τότε πρώτα θα μείωνες και μετά θα εκτύπωνες.
pavlos1908 Δημοσ. 12 Ιανουαρίου 2015 Μέλος Δημοσ. 12 Ιανουαρίου 2015 Ναι ναι καταλαβα, οκ σε ευχαριστω πολυ για την βοηθεια!
Alithinos Δημοσ. 12 Ιανουαρίου 2015 Δημοσ. 12 Ιανουαρίου 2015 Μια ερώτηση: Πως μπορεί να προσθέσει φυσικούς αριθμούς σε μεταβλητές char ?
Moderators Kercyn Δημοσ. 12 Ιανουαρίου 2015 Moderators Δημοσ. 12 Ιανουαρίου 2015 Μία μεταβλητή char δε σημαίνει ότι είναι χαρακτήρας. Είναι, όπως λέει και η Wikipedia "smallest addressable unit of the machine that can contain basic character set. It is an integer type." Συνήθως οι chars μπορούν να πάρουν τιμές από 0 έως 255. Εσύ τους βλέπεις ως χαρακτήρες γιατί όταν πας να τους εκτυπώσεις γίνεται μετατροπή σύμφωνα με το ASCII. 1
defacer Δημοσ. 12 Ιανουαρίου 2015 Δημοσ. 12 Ιανουαρίου 2015 Ασκήσεις που σε κάνουν να θέλεις να βγάλεις τα μάτια σου. Αντί να μαθαίνουν κάτι σε actual προγραμματισμό, να αναλώνονται σε οπλοασκήσεις με char που δεν ισχύουν σε "καμία" άλλη γλώσσα, γράφοντας κακό κώδικα που είναι λόγος για να πιάσεις τον συγγραφέα να του πεις τι δεν πρέπει να κάνει απλά και μόνο επειδή μπορεί. 3
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα