Aggeluska Δημοσ. 17 Οκτωβρίου 2012 Δημοσ. 17 Οκτωβρίου 2012 καλησπερα στην παρεα. σημερα μας βαλανε την πρωτη επισημα εργασια σε C , μας δωσανε 6 assignments να κανουμε και εχω κολλησει στο 5ο , θας παραθεσω το προβλημα και αν μπορειται πειτε μου εσεις τι θα κανατε . Lab Assignment 5 : Write a program (lab1_5.c) which computes the “sum of all digits”, i.e., the cross sum for a positive integer of type long int. Example : for 1339, the sum of the digits is 16.
pmav99 Δημοσ. 17 Οκτωβρίου 2012 Δημοσ. 17 Οκτωβρίου 2012 Και που ακριβώς είναι το πρόβλημα σου? Ανέβασε αν θέλεις τον κώδικα που έχεις γράψει μέχρι τώρα.
Aggeluska Δημοσ. 17 Οκτωβρίου 2012 Μέλος Δημοσ. 17 Οκτωβρίου 2012 μας ειπανε να το κανουμε με moduler . και ειναι το πρωτο μαθημα και δεν μας εχει πει καν τι εινα ιαυτο το πραγμα ....
hawkpilot Δημοσ. 17 Οκτωβρίου 2012 Δημοσ. 17 Οκτωβρίου 2012 Ο τελεστής ονομάζεται modulo και σου επιστρέφει το υπόλοιπο της διαίρεσης 2 ακέραιων αριθμών. μας ειπανε να το κανουμε με moduler . και ειναι το πρωτο μαθημα και δεν μας εχει πει καν τι εινα ιαυτο το πραγμα ....
migf1 Δημοσ. 17 Οκτωβρίου 2012 Δημοσ. 17 Οκτωβρίου 2012 Βάλε σε ένα loop να σου κάνει συνέχεια %10 τον αριθμό σου, μέχρι να μηδενιστεί. Κάθε μια από αυτές τις διαιρέσεις μέσα στο loop σου δίνει ως αποτέλεσμα το εκάστοτε τελευταίο ψηφίο.
kavi Δημοσ. 20 Οκτωβρίου 2012 Δημοσ. 20 Οκτωβρίου 2012 So "moduler" is the new "modulo"! Ενιγουέι, μπορώ να σε βοηθήσω, τόσο σε αυτή την άσκηση όσο και στις επόμενες. PM me if you are interested.
Timonkaipumpa Δημοσ. 21 Οκτωβρίου 2012 Δημοσ. 21 Οκτωβρίου 2012 Εάν παίρνεις τον αριθμό σε char από το terminal, θα μπορούσες να το κάνεις με arrays και ένα pointer στον array. Δηλαδή: > char theInput[256]; //Input handling [...] char* pBuff = theInput; int indx; long int rslt = 0; for ( indx = 0; indx < 256; indx++) { rslt += atoi(*(pBuff++)); }
migf1 Δημοσ. 23 Οκτωβρίου 2012 Δημοσ. 23 Οκτωβρίου 2012 ή κι απευθείας... > #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <inttypes.h> // C99 // --------------------------------------------------- int main( void ) { intmax_t res = 0; for (int c; EOF != (c=getchar()) && '\n' != c; ) if ( isdigit(c) ) res += c - '0'; printf( "%" PRIdMAX "\n", res ); exit(0); }
imitheos Δημοσ. 23 Οκτωβρίου 2012 Δημοσ. 23 Οκτωβρίου 2012 Εάν παίρνεις τον αριθμό σε char από το terminal, θα μπορούσες να το κάνεις με arrays και ένα pointer στον array. Δηλαδή: > char* pBuff = theInput; rslt += atoi(*(pBuff++)); Εδώ δεν πετάει char στην atoi ?
migf1 Δημοσ. 23 Οκτωβρίου 2012 Δημοσ. 23 Οκτωβρίου 2012 Yeap, το είδα κι εγώ χτες το βράδυ, αλλά μετά το ξέχασα να το επισημάνω.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα