[email protected] Δημοσ. 30 Ιανουαρίου 2008 Δημοσ. 30 Ιανουαρίου 2008 Καλησπέρα σας .... Σας ζητώ την βοήθεια σας Για να τελείωσω μια άσκηση ..! Πώς Μπορώ να μετατρέψω στη C εναν Αριθμό Ascii (πχ AsciiINT = 65;) να μετετραπει σε Χαρακτήρα .. ( Char = A;) Έχω καταφέρει να κανω το ανάποδο αλλά εδώ καπου κολάω Σας Ευχαριστώ....
georgemarios Δημοσ. 30 Ιανουαρίου 2008 Δημοσ. 30 Ιανουαρίου 2008 ασε φιλε, ειναι πααααρα πολυ δυσκολο πλακα κανω.... κοιτα αντι για αυτο > char a = 'A'; βαλε αυτο > char a = 65; και τελος
[email protected] Δημοσ. 30 Ιανουαρίου 2008 Μέλος Δημοσ. 30 Ιανουαρίου 2008 Ποποοοοο..! Ντέπομαι ..! δεν ειχα ψιλιαστεί τέτιο τρόπο Και ψαχνόμουν σε συναρτήσεις .... :eek: Παντώς Σε Ευχαριστώ..!
georgemarios Δημοσ. 30 Ιανουαρίου 2008 Δημοσ. 30 Ιανουαρίου 2008 παρακαλω φιλε, μη ντρεπεσαι ποτε για τετοια λαθακια, ειναι φυσιολογικα.... (αν και εκνευριστικα χρονοβορα)
[email protected] Δημοσ. 31 Ιανουαρίου 2008 Μέλος Δημοσ. 31 Ιανουαρίου 2008 Συνέχισα όπως είπαμε και θέλησα να το Ηλοποισω σε ενα Array το αποίο να κρατά την Αλφαβήτα (ελληνική) Δηλαδή: > #define FIRST_CHAR 128 int main() { char Achar[25]={32}; for(i=0; i<25; i++) { Achar[i]=FIRST_CHAR+i; } printf("%s\n",Achar); ωστόσο η τηπωση μου βγάζει κατι Άσχετο ..! ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩα όπου στο "α" θα έπρεπε να τυπώνει Κενο Space_Char = 32 τι λάθος κάνω ....
georgemarios Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 ναι, φυσιολογικό αν δεις το charset που χρησιμοποιει το DOS θα καταλαβεις, το 'α' ακολουθεί το 'Ω' κοιτα να δεις στον compiler σου αν σου δίνει τη δυνατοτητα να κανεις compile με καποιο 'νορμαλ' charset, unicode ας πουμε ή το greek-κατι....
[email protected] Δημοσ. 31 Ιανουαρίου 2008 Μέλος Δημοσ. 31 Ιανουαρίου 2008 ναι .. αλλά εγώ δεν συνέχισα μετα το 'Ω' Δηλαδί: απο Array Achar[0] = 128 /* Α */ Achar[24] = 151 /* Ω */ Αλλα Achar[25] = 32 /* Space */ εκτώς αν δεν κατάλαβα ακριβώς τΗ μου είπες
georgemarios Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 βασικα (δε ξερω πως γινετε και αν) πρεπει να αλλαξει το charset της κονσολας. Το ζητημα δεν ειναι οι τιμες που εχουν οι χαρακτηρες, αυτες δεν αλλαζουν. Σημασια εχει το πως τους απεικονίζουν τα εκαστοτε προγραμματα (πχ κονσολα ή notepad για αρχεια)
georgemarios Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 ναι .. αλλά εγώ δεν συνέχισα μετα το 'Ω' Δηλαδί: απο Array Achar[0] = 128 /* Α */ Achar[24] = 151 /* Ω */ Αλλα Achar[25] = 32 /* Space */ εκτώς αν δεν κατάλαβα ακριβώς τΗ μου είπες και βεβαια συνεχισες το > for(i=0; i<25; i++) σημαινει "κανε κατι 25 φορες" αρα αλλαζεις ΟΛΑ τα στοιχεια του 25θεσιου array σου, σωστα?
[email protected] Δημοσ. 31 Ιανουαρίου 2008 Μέλος Δημοσ. 31 Ιανουαρίου 2008 α Οκ καταλαβα .... θα ρωτήσω τον Γουγλη τοτε ... Και Παλι σε Ευχαριστώ ..!
[email protected] Δημοσ. 31 Ιανουαρίου 2008 Μέλος Δημοσ. 31 Ιανουαρίου 2008 Οπα γιατι το μινιμα πήγενε στο Προηγουμενο reply σου Αλλάζω 24 θέσεισ και αφίνω την Τελευτεα (Achar[25]) να εχει την τιμη 32 Achar = 32 == ' '
georgemarios Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 α, και αυτο Αλλα Achar[25] = 32 /* Space */ ΔΕΝ ισχυει. Αφου όρισεςτο array ως >char Achar[25]={32}; μπορεις να ξέρεις μέχρι και το Achar[24] τι τιμή εχει. Το Achar[25] ειανι out of bounds και ειναι undefined ....
parsifal Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 Έχεις δηλώσει πίνακα 25 θέσεων. Η αρίθμηση των θέσεων είναι από 0 έως 24. Στη θέση A[23] βρίσκεται ο κώδικας του Ω και στην τελευταία θέση A[24] το 128 + 24, δηλαδή ο κώδικας του α. Ο χαρακτήρας του Space από πού θα μπορούσε να προκύψει... ;
[email protected] Δημοσ. 31 Ιανουαρίου 2008 Μέλος Δημοσ. 31 Ιανουαρίου 2008 ώπα ναι Σωστα .. το παρέληψα αυτο .... αλλα εστο και έτσι: > [color=#000000][color=#FF8000]#define FIRST_CHAR 128 [/color][color=#0000BB]int main[/color][color=#007700]() { [/color][color=#0000BB]char Achar[/color][color=#007700][[/color][color=#0000BB]26[/color][color=#007700]][/color][color=#007700]; for([/color][color=#0000BB]i[/color][color=#007700]=[/color][color=#0000BB]0[/color][color=#007700]; [/color][color=#0000BB]i[/color][color=#007700]<[/color][color=#0000BB]25[/color][color=#007700]; [/color][color=#0000BB]i[/color][color=#007700]++) { [/color][color=#0000BB]Achar[/color][color=#007700][[/color][color=#0000BB]i[/color][color=#007700]]=[/color][color=#0000BB]FIRST_CHAR[/color][color=#007700]+[/color][color=#0000BB]i[/color][color=#007700]; } Achar[25]=32; [/color][color=#0000BB]printf[/color][color=#007700]([/color][color=#DD0000]"%s\n"[/color][color=#007700],[/color][color=#0000BB]Achar[/color][color=#007700]); [/color][/color] Πάλι το ίδιο μου Γηνετε
georgemarios Δημοσ. 31 Ιανουαρίου 2008 Δημοσ. 31 Ιανουαρίου 2008 ώπα ναι Σωστα .. το παρέληψα αυτο .... αλλα εστο και έτσι: > [color=#000000][color=#ff8000]#define FIRST_CHAR 128 [/color][color=#0000bb]int main[/color][color=#007700]() { [/color][color=#0000bb]char Achar[/color][color=#007700][[/color][color=#0000bb]26[/color][color=#007700]][/color][color=#007700]; for([/color][color=#0000bb]i[/color][color=#007700]=[/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]<[/color][color=#0000bb]25[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]++) { [/color][color=#0000bb]Achar[/color][color=#007700][[/color][color=#0000bb]i[/color][color=#007700]]=[/color][color=#0000bb]FIRST_CHAR[/color][color=#007700]+[/color][color=#0000bb]i[/color][color=#007700]; } Achar[25]=32; [/color][color=#0000bb]printf[/color][color=#007700]([/color][color=#dd0000]"%s\n"[/color][color=#007700],[/color][color=#0000bb]Achar[/color][color=#007700]); [/color][/color] Πάλι το ίδιο μου Γηνετε ρε φιλε, ποσα γραμματα εχει η ελληνική αλφαβήτα? 24 σωστα? άρα πόσους χαρακτήρες πρέπει να αλλαξεις? 24 αρα γιατι > for(i=0; i<25; i++) επιμενεις να αλλαζεις 25 χαρακτηρες? οταν κανεις αυτο >[color=#000000][color=#007700] Achar[25]=32; [/color][/color] αλλαζεις τον 26 χαρακτηρα και πραγματι τον κανεις space αλλα πιο πριν εχεις αλλαξεις και τον 25 και τον εχεις κανει 'α' η λυση σου ειναι > for(i=0; i<[b]24[/b]; i++)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.