teresa92 Δημοσ. 8 Σεπτεμβρίου 2016 Δημοσ. 8 Σεπτεμβρίου 2016 Γεια σας παιδια. (δεν ειμουν σιγγουρη αν επρεπε να ανοιξω 2ο θεμα η να αναρτησω και αυτο το προβλημα σε ενα αλλο ποστ που εχω ηδη κανει: http://www.insomnia.gr/topic/620140-%CF%80%CF%81%CE%BF%CE%B2%CE%BB%CE%B7%CE%BC%CE%B5-%CE%BC%CE%B5-%CE%B4%CE%B9%CE%B1%CE%B9%CF%81%CE%B5%CF%83%CE%B7-%CF%83%CF%84%CE%B7%CE%BD-c/ Οποτε αν δεν επρεπε να ανοιξω 2ο θεμα πειτε μου να πραξω αναλογως επομενη φορα) Το προβλημα ειναι οτι το παρακατω πολυ απλο προγραμματακι στην C κολλαει : #include<stdio.h> int main() { int x=12345; int m=0,yp=1; while (yp!=0) { yp=x/10; m++; } printf("%d",m); } Aν μποειτε βοηθειστε με δεν μπορω να καταλαβω γιατι κολλαει.. Ευχαριστω.
nkarama Δημοσ. 8 Σεπτεμβρίου 2016 Δημοσ. 8 Σεπτεμβρίου 2016 Εγώ πάντως έβγαλα το calculator και κοντεύει να τελειώσει η μπαταρία, αλλά όσες φορές και να έκανα το 12345 / 10 μου έβγαλε 1234.5 και ποτέ κάτι άλλο...
lion2486 Δημοσ. 8 Σεπτεμβρίου 2016 Δημοσ. 8 Σεπτεμβρίου 2016 το yp έχει την τιμή x/10 συνέχεια, και δεν γίνεται ποτέ ίσο με 0 για να σταματήσει. Τι θέλεις να κάνεις;
teresa92 Δημοσ. 8 Σεπτεμβρίου 2016 Μέλος Δημοσ. 8 Σεπτεμβρίου 2016 το yp έχει την τιμή x/10 συνέχεια, και δεν γίνεται ποτέ ίσο με 0 για να σταματήσει. Τι θέλεις να κάνεις; θελω να μετρισω τα ψιφια του x... αλλα γιατι να εχει παντα την ιδια τιμη αφου την πρωτη φορα που θα μπει το yp θα εχει τιμη x/10 δηλαδη 1234,5 δηλαδη επειδη ειναι int 1234 μετα την επομενη φορα που θα μπει 123 την επομενη 12 και μετα 1 και μετα 0 .... Εστι δεν ειναι? θελω να μετρισω τα ψιφια του x... αλλα γιατι να εχει παντα την ιδια τιμη αφου την πρωτη φορα που θα μπει το yp θα εχει τιμη x/10 δηλαδη 1234,5 δηλαδη επειδη ειναι int 1234 μετα την επομενη φορα που θα μπει 123 την επομενη 12 και μετα 1 και μετα 0 .... Εστι δεν ειναι? ενταξει το βρηκα ειχα κανει απροσεξια σορρυ για την ενοχληση το σωστο ειναι : #include<stdio.h> int main() { int x=12345 ; int m=0,yp=x; while (yp!=0) { yp=yp/10; m++; } printf("%d",m); }
nickname2016 Δημοσ. 8 Σεπτεμβρίου 2016 Δημοσ. 8 Σεπτεμβρίου 2016 #include<stdio.h> int main() { int x=12345; int count=0; while (x!=0) { x/=10; count++; } printf("%d",count); } Μαλλον θες να κανεις κατι τετοιο.. το x σου ειναι ο αριθμος το count θα μετραει καθε ψηφιο που θα "τρωμε" απο το χ, καθε φορα που αυτο μειωνεται(διαιρειται καθε φορα με το 10, μεχρι αυτο να γινει 0) Θελουμε να τρωμε καθε φορα κι ενα ψηφιο απο το x, μεχρι αυτο να γινει 0. στο τελος το count θα μετρησει ποσες φορες φαγαμε ψηφιο απο το x. Οταν το χ γινει 0 θα τελειωσει η while και το count θα ειναι 5.
Dinos_12345 Δημοσ. 8 Σεπτεμβρίου 2016 Δημοσ. 8 Σεπτεμβρίου 2016 θελω να μετρισω τα ψιφια του x... αλλα γιατι να εχει παντα την ιδια τιμη αφου την πρωτη φορα που θα μπει το yp θα εχει τιμη x/10 δηλαδη 1234,5 δηλαδη επειδη ειναι int 1234 μετα την επομενη φορα που θα μπει 123 την επομενη 12 και μετα 1 και μετα 0 .... Εστι δεν ειναι? Αν είναι ακέραια διαίρεση, δεν θα γίνεται μηδέν το υπόλοιπο κάθε φορά, άρα με το 12345 δεν δουλεύει, με το 1000 θα τρέξει κανονικά.
teresa92 Δημοσ. 8 Σεπτεμβρίου 2016 Μέλος Δημοσ. 8 Σεπτεμβρίου 2016 #include<stdio.h> int main() { int x=12345; int count=0; while (x!=0) { x/=10; count++; } printf("%d",count); } Μαλλον θες να κανεις κατι τετοιο.. ναι αντι για m μποεις να βαλεις count ειναι πιο σωστο ετσι το m απο το μετριτησ το εβαλα αλλα το βρηκα δες παραπανω ... ευχαριστω παντωσ για την βοηθεια Αν είναι ακέραια διαίρεση, δεν θα γίνεται μηδέν το υπόλοιπο κάθε φορά, άρα με το 12345 δεν δουλεύει, με το 1000 θα τρέξει κανονικά. #include<stdio.h> int main() { int x=12345 ; int m=0,yp=x; while (yp!=0) { yp=yp/10; m++; } printf("%d",m); } αυτο ειναι το σωστο το βρηκα και με την δικη σου επισυμανση ευχαριστω
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα