Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 03 Οκτ 2010 15:50

Έχω τον αριθμό π.χ. 765437865386538765 πως μπορώ να προσθέσω τα ψηφία μεταξύ τους;
δηλ. 7+6+5+4+3 κλπ κλπ
Visual studio Ultimate 2010

Ευχαριστώ

gkalog
Δημοσιεύσεις: 3
Εγγραφή: 12 Δεκ 2009 16:16
Τοποθεσία: Ναξος
Επικοινωνία:

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από gkalog » 03 Οκτ 2010 17:35

Αν K ειναι ο αριθμός, ο τύπος που σου δίνει ένα ένα τα ψηφία του, είναι :

[ MOD(K, 10^i) - MOD(K, 10^(i-1) ] / 10^(i-1)

και τα αθροίζεις όλα αυτά απο i =1 μέχρι το MOD(K, 10^i) να είναι ο ίδιος ο αριθμός Κ ή μέχρι το αποτέλεσμα του τύπου να σου βγάλει 0.

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 03 Οκτ 2010 21:39

gkalog έγραψε:Αν K ειναι ο αριθμός, ο τύπος που σου δίνει ένα ένα τα ψηφία του, είναι :

[ MOD(K, 10^i) - MOD(K, 10^(i-1) ] / 10^(i-1)

και τα αθροίζεις όλα αυτά απο i =1 μέχρι το MOD(K, 10^i) να είναι ο ίδιος ο αριθμός Κ ή μέχρι το αποτέλεσμα του τύπου να σου βγάλει 0.
Έχω αυτό το μικρό πρόγραμμα

Κώδικας: Επιλογή όλων

        Dim result As String
        Dim num, num2 As Integer
        num = TextBox1.Text
        num2 = TextBox2.Text

        result = num ^ num2
        Label1.Text = result
Αυτό που προσπαθώ να κάνω είναι όταν υφώνω το num στην num2 να πέρνει το αποτέλεσμα και να προσθέτει τα ψηφία. Αυτό που μου έδωσες πως το χρησιμοποιώ;

Επίσης ακόμα μια απορία.. Υπάρχει κάποιος τύπος μεταβλητών μεγαλύτερος της Long?

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από virxen75 » 04 Οκτ 2010 02:07

Κώδικας: Επιλογή όλων

        Dim sum As Long
        Dim number1 As Long
        Dim number As Long
        sum = 0
        number1 = 0
        number = CInt(Val(TextBox1.Text)) ^ CInt(Val(TextBox2.Text))
        number1 = number
        While number1 <> 0
            sum = sum + number1 Mod 10
            number1 = number1 \ 10
        End While

τσεκαρισμένο τώρα
Τελευταία επεξεργασία από το μέλος virxen75 την 05 Οκτ 2010 01:43, έχει επεξεργασθεί 3 φορές συνολικά.

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 04 Οκτ 2010 15:41

Κάτι πάει λάθος...
Υπάρχουν ερωτηματικά στο τέλος, αγκίλες, και δεν υπάρχει end while
Μήπως τα σύγχυσες με την Pascal?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από dva_dev » 04 Οκτ 2010 16:21

Ο άνθρωπος έκατσε στις 1 το βράδυ να σου δώσει τον αλγόριθμο, σε μια basic-pascal-c-java γλώσσα, Λογικό είναι να έχει λίγο περίεργο συντακτικό. Δεν πρέπει να σου είναι και τόσο δύσκολο να το πάρεις και να το κάνεις vb.

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 04 Οκτ 2010 16:23

dva_dev έγραψε:Ο άνθρωπος έκατσε στις 1 το βράδυ να σου δώσει τον αλγόριθμο, σε μια basic-pascal-c-java γλώσσα, Λογικό είναι να έχει λίγο περίεργο συντακτικό. Δεν πρέπει να σου είναι και τόσο δύσκολο να το πάρεις και να το κάνεις vb.
Μπορείς να βοηθήσεις;?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από dva_dev » 04 Οκτ 2010 17:02

Κώδικας: Επιλογή όλων

Dim sum As Long
Dim number1 As Long
Dim number As Long
sum = 0
number = 699
number1 = number
While &#40;number1 <> 0&#41;
    k = number1 Mod 10
    sum = sum + k
    number1 = number1 \ 10
Wend

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 04 Οκτ 2010 20:57

Δεν δουλεύει.. μου βγάζει αποτέλεσμα 0 πάντα..

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από dva_dev » 04 Οκτ 2010 21:29

Θέλεις να μας δείξεις όλο τον κώδικα;

Αν κάνεις αυτό

Κώδικας: Επιλογή όλων

print number1
θα τυπώνει πάντα 0.

Αν κάνεις αυτό

Κώδικας: Επιλογή όλων

print sum
θα τυπώνει πάντα κάτι άλλο από 0, εκτός και αν ο αριθμός σου είναι το μηδέν.

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 04 Οκτ 2010 21:36

Ο κώδικας μου είναι αυτός

Κώδικας: Επιλογή όλων

        Dim sum As Double
        Dim num1, num2 As Integer
        num1 = TextBox1.Text
        num2 = TextBox2.Text

        result= num1 ^ num2

        Label1.Text = result
Στο num1 βάζω ένα αριθμό
και στο num2 βάζω το αριθμό στον οποίο υψώνω το num1
και το result είναι το αποτέλεσμα τους..
Εγώ θέλω να πέρνω το αποτέλεσμα και να προσθέτω τα ψηφία μεταξύ τους..

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από dva_dev » 04 Οκτ 2010 21:54

Και που είναι ο κώδικας που δεν δουλεύει;

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από Cypriot » 04 Οκτ 2010 21:57

Αφού δεν δούλεψε τον έβγαλα μέχρι να βρω τη λύση.. :D
Δεν έσβησα και 100 γραμμές.. 5 γραμμές ήτανε.. ;p

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από virxen75 » 05 Οκτ 2010 01:27

Dim num1, num2 As Integer
num1 = TextBox1.Text
αποθηκεύεις String σε integer?
μήπως λείπει κάτι?

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πως βρίσκω το άθροισμα των φηφίων ενός αριθμού;

Δημοσίευση από virxen75 » 05 Οκτ 2010 01:29

Cypriot έγραψε:Κάτι πάει λάθος...
Υπάρχουν ερωτηματικά στο τέλος, αγκίλες, και δεν υπάρχει end while
Μήπως τα σύγχυσες με την Pascal?
μεταφορά από C ,σου είπα δεν το είχα τσεκάρει


και μια φώτο από την εκτέλεση του προγράμματος
Συνημμένα
projectFoto.jpg

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης