xmouts Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 1...Ο χρήστης πρέπει να υπολογίζει το γινόμενο Σ=1*3*7*15...Ν. 'Οταν ο χρήστης δίνει ενα θετικό ακέραιο Μ και ισχύει Ν<=Μ. 2....Πρέπει να εμφανίζει όλους τους 3ψήφιους αριθμούς Harshad. Ένας ακέραιος αριθμός ονομάζεται Harshad όταν διαιρείται ακριβώς απο το νούμερο που σχηματίζεται απο το άθροισμα των ψηφίων του. ========================================================================= Τα έλυσα σε C++ πως να τα κανω σε C# ??? ========================================================================= >void multi(void) { int n=-1; printf("Dwse to N:"); scanf("%d",&n); int num=1; int sum=1; if(num<=n){ while(num<=n) { num*=2; sum*=++num; printf("%d\n",num); } printf("Sum=%d\n",sum); } } void harshad(void) { int j=0; int i=0; int number; for(j=100;j<=999;j++) { int sum=0; number=j; for(i=0;i<3;i++) { sum+=number%10; number=number/10; } if(j%sum==0) { printf("o %d einai arithmos harshad\n",j); } else { printf("o %d den einai arithmos harshad\n",j); } } }
moukoublen Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Τι είναι αυτό που σε δυσκολεύει ( με δεδομένο ότι το έκανες σε C++ [Ο κώδικας που έχεις γράψει ειναι C] ) στη C#?
xmouts Δημοσ. 4 Απριλίου 2012 Μέλος Δημοσ. 4 Απριλίου 2012 Τώρα άρχισα να μαθαίνω C# .... και δεν ξέρω ακριβώς τις εντολές.....
Star_Light Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Δεν ειναι μονο θεμα εντολών H C# ειναι αντικειμενοστρεφής. Επομένως δεν υπάρχει προγραμμα χωρις κλάσεις. Οπως δεν υπάρχει και C προγραμμα χωρις την main. http://www.csharp-station.com/Tutorials/Lesson01.aspx
xmouts Δημοσ. 4 Απριλίου 2012 Μέλος Δημοσ. 4 Απριλίου 2012 Οκ Το Κατάλαβα Αυτό....Πως θα γίνει να τροποποιήσω λίγο τον κώδικα ?
Star_Light Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Οκ Το Κατάλαβα Αυτό....Πως θα γίνει να τροποποιήσω λίγο τον κώδικα ? Θα σου πω... πες μου πρωτα αν μπορεις > sum+=number%10; αυτο εδω που χεις βαλει τι κανει....
Star_Light Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Είναι Λάθος....έτσι ? Oχι ρε συ... μην ψαρωνεις. Αλλο θελω να δω λοιπον για να σε διευκολυνω εστω οτι έχεις > #include <stdio.h> int main(void) { int sum=3 , number=25; sum+=number%10; printf("%d" , sum); return 0; } Το sum τι τιμή θα έχει και γιατι ?????
Star_Light Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 θα δώσει 8...Το γιατί στο += λες ? Οκ!!!! Ηθελα να δω αν την εχεις παρει ετοιμη Πρεπει να μαθεις 2-3 βασικα πρωτα σε C# βρες ενα καλο τουτοριαλ και ξεκινα αν και πιστευω πως ολο και καποιος θα εμφανιστει να σε βοηθησει. Δεν φαινεται δυσκολη παντως... μονο να την βαλεις σε κλασεις ισως...
Star_Light Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Που να βάλω Console.ReadLine Πες Μου... Αμα ηξερα ευχαριστως θα σου ελεγα ρε συ.... ειμαι τελειως ασχετος με C# :/
nspyrou Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Αυτό είναι το πρόγραμμά σου αντίστοιχα γραμμένο σε C#,, Σου έχω αφήσει κενή την Main για να τη συμπληρώσεις όπως νομίζει για τον έλεγχο του προγράμματός σου: > using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace YourProgram { class Program { void multi() { int n = -1; Console.Write("Εισαωγή αριθμού Ν: "); n = Convert.ToInt32(Console.ReadLine()); int num = 1; int sum = 1; if (num <= n) { while (num <= n) { num *= 2; sum *= ++num; Console.WriteLine(num.ToString()); } Console.WriteLine("Sum = " + sum.ToString()); } } void harshad() { int j=0; int i=0; int number; for(j=100; j<=999; j++) { int sum=0; number=j; for(i=0; i<3; i++) { sum+=number%10; number=number/10; } if(j%sum==0) { Console.WriteLine(string.Format("Ο {0} einai arithmos harshad.",j)); } else { Console.WriteLine(string.Format("o {0} den einai arithmos harshad\n",j)); } } } static void Main(string[] args) { } } } Το μετέφερα σε Visual Studio 2010, μπορείς να κατεβάσεις την C# Express, που είναι Free από τη Microsoft. To Project είναι Console. Επίσης δεν σου έχω βάλει καθόλου validations για τον έλεγχο της εισόδου. Μπορείς να το φτιάξεις μόνος σου όσο προχωράς. Σε ό,τι αφορά τον τρόπο γραφής: Όντως η C# είναι αντικειμενοστρεφής. Αυτό σημαίνει οτι πρέπει να υπάρχει κλάση, και NameSpace, καθώς οι κλάσεις και τα γενικής φύσεως αντικείμενα και τύποι, ομαδοποιούνται μέσα σε κατηγορίες. Κάτι σαν housekeeping ένα πράμα μπορείς να το σκεφτείς, όπως γίνεται και με τη Java, μέσω των Packages. Θα παρατηρήσεις οτι δεν υπάρχουν τα #Include. Στην θέση τους υπάρχουν τα using. Όπως σου προτείνει ο Star_Light, δες κάποιο tutorial από τα χιλιάδες που υπάρχουν εκεί έξω με τα basics της γλώσσας. Αν και θα σου έλεγα να δεις γενικά το .ΝΕΤ Framework, μιας και η γλώσσα έρχεται πλέον σε δεύτερη μοίρα. Αυτό που εννοώ είναι οτι είτε C#, είτε Visual Basic .NET, είτε F#, αυτό που αλλάζει είναι η σύνταξη και όχι οι δυνατότητες. (Δεν είναι πολύ ακριβές βέβαια αυτό, αλλά είναι λίγο advanced για τώρα).. Ότι άλλο χρειαστείς, ρωτάς και το συζητάμε
moukoublen Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Παρεπιπτόντως, κάνετε σε κάποια σχολη C#? Και αν ναι, σε ποια? (αν επιτρέπεται)
nspyrou Δημοσ. 4 Απριλίου 2012 Δημοσ. 4 Απριλίου 2012 Παρεπιπτόντως, κάνετε σε κάποια σχολη C#? Και αν ναι, σε ποια? (αν επιτρέπεται) Προσωπικά, στη μόνη σχολή που έχω πετύχει programming σε C#, ήταν στο τμήμα ιατρικής πληροφορικής του ΕΜΠ. Δεν ξέρω αν ήταν μέρος των μαθημάτων, αλλά ως subcontractor που είχαμε το ΕΜΠ, η ανάπτυξη γινόταν σε C#.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα