sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Αγορασα λοιπον ενα πολυ καλο βιβλιο για την C μπας και ξεστραβωθω και μαθω προγραμματισμο!!!! Αρχιζει λοιπον τα βασικα και σε καποια φαση μου ζηταει προγραμμα που να δινω 2 αριθμους και να εμφανιζει τον μεγαλυτερο απο αυτους. > #include <stdio.h> main () { int a,b; printf ("Δωσε 2 ακεραιους:"); scanf ("%d" "%d", &a,&; if (a> printf ("%d",a); else printf ("%d",; } Το προγραμμα τρεχει αλλα ./a.out > ./a.out ΞΟΟΞ΅ 2 Ξ±ΞΊΞ΅ΟΞ±ΞΉΞΏΟΟ 56 4 56 Γιατι μου βγαζει αυτα τα ακυρα συμβολα?
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Άσχετα με το πρόβλημα, το... > ... scanf ("%d" "%d", &a,&; ... άλλαξέ το σε... > scanf ("%d %d", &a,&; Τώρα, για τα... κινέζικα, το πιθανότερο είναι το .c αρχείο σου να έχει αποθηκευτεί με κωδικοσελίδα διαφορετική από αυτή στην οποία είναι ρυθμισμένο το shell σου. Συνήθως είναι UTF-8, δες σε τι κωδικοσελίδα είναι το shell σου (δεν θυμάμαι απέξω την εντολή) και μετά σώσε το .c αρχείο σου στην ίδια. Αν δεν θες να μπλεξεις με αυτά, άλλαξε τα ελληνικά που περιέχει το .c αρχείο σου με αγγλικά.
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 το b με μικρα το εχω στο προγραμμα. Στον editor του forum το εμφανιζει κεφαλαια και δεν ξερω γιατι. Προσπαθησα να το αλλαξω αλλα επιμενει κεφαλαια! Και στο δικο σου post επισεις Αλλαζωντας τα ελληνικα με Αγγλικα το προβλημα λυθηκε
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 το b με μικρα το εχω στο προγραμμα. Στον editor του forum το εμφανιζει κεφαλαια και δεν ξερω γιατι. Προσπαθησα να το αλλαξω αλλα επιμενει κεφαλαια! Και στο δικο σου post επισεις Ναι το γνωρίζω, πρόβλημα του insomnia είναι αυτό (βάζε x,y αντί για a,b ) ΥΓ. Ποιο βιβλίο αγόρασες;
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 Σπαω το κεφαλι μου να φτιαξω το ιδιο προγραμμα αλλα με 3 αριθμους αλλα δεν μπορω να βρω με ποια λογικη θα το κανω Please. Μην μου γραψετε τον κωδικα. Απλα περιγραψτε μου το πως θα το κανω. Το βρηκα > #include <stdio.h> main () { int a,b,c; printf ("Give 3 integers:"); scanf ("%d" "%d" "%d", &a ,&b ,&c); if (a> printf ("%d", a); else if (b>c) printf ("%d", ; else printf ("%d", c); }
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Συνέκρινε το αποτέλεσμα της 1ης σύγκρισης με τον 3ο αριθμό.
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 Τελικα στον προγραμματισμο ειναι ποιο δυσκολο να σκεφτεις πως θα το κανεις παρα να το γραψεις!!!!!!!
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Συνεχίζεις όμως να βάζεις περιττά " μέσα στην scanf! Μάθε και τα macros τώρα που είναι αρχή, καθώς και τους τελεστές ? : που αντικαθιστούν τα if-else... > #include <stdio.h> #define myMAX(x, y) ( (x) > (y) ? (x) : (y) ) /* αυτό είναι ένα macro, με χρήση του τελεστή ? : */ int main( void ) { int x=0, y=0, z=0; printf( "Enter 3 integers: " ); scanf( "%d %d %d", &x, &y, &z ); x = myMAX(x,y) ? myMAX(x,z) : myMAX(y,z); printf( "The biggest amongst them is: %d\n", x ); return 0; } ΥΓ1. Τσέκαρέ το αν τρέχει σωστά, γιατί δεν το δοκίμασα. ΥΓ2. Το δικό σου για: 10 5 20 δίνει αποτέλεσμα το10 νομίζω
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 Τρεχει πεννα αλλα εχασα λιγο την μπαλα Το δικό σου για: 10 5 20 δίνει αποτέλεσμα το10 νομίζω Ουπς. Δικιο εχεις. Παλι πισω!
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Τρεχει πεννα αλλα εχασα λιγο την μπαλα Ε, λογικό είναι αφού τώρα ξεκινάς! Διάβασε τον τελεστή ? : πρώτα, και δοκίμασέ τον αντί για τα if-else που χρησιμοποιείς τώρα (δεν ξέρω αν είδες το edit που έκανα πριν, στο ΥΓ2, αλλά ο κώδικάς σου νομίζω δεν δουλεύει σωστά).
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 Μαλλον εδω θα καψω και τα τελευταια μου εγκεφαλικα κυτταρα
sk8harddiefast Δημοσ. 29 Οκτωβρίου 2011 Μέλος Δημοσ. 29 Οκτωβρίου 2011 Πως διαγραφω double post? Ασχετο. Δεν βρισκω πουθενα διαγραφη!
migf1 Δημοσ. 29 Οκτωβρίου 2011 Δημοσ. 29 Οκτωβρίου 2011 Μαλλον εδω θα καψω και τα τελευταια μου εγκεφαλικα κυτταρα Σου είπα τι πρέπει να κάνεις, να συγκρίνεις τους 2 πρώτους αριθμούς, και τον μεγαλύτερό τους να τον συγκρίνεις με τον 3ο. Κάντο με απλά if-else πρώτα αντί για ? : Hint: δοκίμασε να σώσεις το αποτέλεσμα της 1ης σύγκρισης σε ξεχωριστή μεταβλητή
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα