Jump to content

nucleus

Premium Members
  • Posts

    3.194
  • Εγγραφή

  • Τελευταία Επίσκεψη

Everything posted by nucleus

  1. nucleus

    Εργασια σε C#

    Είναι C# τι structs ? η C# είναι αντικειμενοστρεφής (object oriented) :S Αν είναι να το κάνεις με κάποιο άλλο τρόπο χωρίς arrays θα το κάνεις με classes (objects) και λίστες. public class StudentCourse { public string CourseName { get; set; } public int Grade { get; set; } } public class Student { public Student() { StudentCourses = new List<StudentCourse>(); } public string StudentName { get; set; } public IList<StudentCourse> StudentCourses { get; set; } }To πρώτο class είναι το Course. Έχει 2 properties το όνομα του και τον βαθμό, CourseName και Grade αντίστοιχα. Το δεύτερο class είναι το Student. Έχει επίσης 2 properties. StudentName το όνομα του μαθητή και το StudentCourses. Το StudentCourses είναι μια λίστα από StudentCourse και περιέχει τα μαθήματα και τους βαθμούς του μαθητή, το αρχικοποιείς στον constructor του Student. Με βάση τα παραπάνω μέσα στην main σου αρχικά ορίζεις μια λίστα από Student αντικείμενα (οι μαθητές σου) και μετά βάζεις τους βαθμούς O κώδικας της main ενδεικτικά IList<Student> students = new List<Student>(); //make the students for (int i = 0; i < 6; i++) { string studentName = string.Format("stud{0}", i); Student newStudent = new Student() { StudentName = studentName }; for (int j = 0; j < 3; j++) { string courseName = string.Format("course{0}", j); Console.WriteLine("Eισάγετε βαθμό για τον μαθητή {0} και μάθημα {1}",studentName,courseName); StudentCourse newCourse = new StudentCourse() { CourseName = courseName, Grade = int.Parse(Console.ReadLine()) }; newStudent.StudentCourses.Add(newCourse); } students.Add(newStudent); } //Debug foreach (var student in students) { Console.WriteLine("Student {0} Grades:", student.StudentName); foreach (var course in student.StudentCourses) { Console.WriteLine("{0} = {1}", course.CourseName,course.Grade); } }Μπορείς να το κάνεις ακόμα καλύτερο προσθέτωντας properties στα δύο classes Student και StudentCourse. πχ μπορείς να προστέσεις τον μέσο όρο βαθμολογίας σαν property στο class Student και μόλις τελειώσει την εισαγωγή των βαθμών των μαθημάτων που του αντιστοιχούν πριν το προστέσει στην λίστα students και πάει στον επόμενο να υπολογίσει τον μέσο όρο και να το βάλει στο κατάλληλο property public class Student { public Student() { StudentCourses = new List<StudentCourse>(); } public string StudentName { get; set; } public IList<StudentCourse> StudentCourses { get; set; } public double GradeAverage { get; set; } }Και ο κώδικας για την main αλλάζει ως εξής IList<Student> students = new List<Student>(); //make the students for (int i = 0; i < 6; i++) { string studentName = string.Format("stud{0}", i); Student newStudent = new Student() { StudentName = studentName }; for (int j = 0; j < 3; j++) { string courseName = string.Format("course{0}", j); Console.WriteLine("Eισάγετε βαθμό για τον μαθητή {0} και μάθημα {1}",studentName,courseName); StudentCourse newCourse = new StudentCourse() { CourseName = courseName, Grade = int.Parse(Console.ReadLine()) }; newStudent.StudentCourses.Add(newCourse); } double gradeSum = 0; foreach (var course in newStudent.StudentCourses) { gradeSum = gradeSum + course.Grade; } newStudent.GradeAverage = gradeSum / newStudent.StudentCourses.Count; students.Add(newStudent); } //Debug foreach (var student in students) { Console.WriteLine("Student {0} Grades:", student.StudentName); foreach (var course in student.StudentCourses) { Console.WriteLine("{0} = {1}", course.CourseName,course.Grade); } Console.WriteLine("Grade Average = {0}", student.GradeAverage); }Θα μπορούσες να γλυτώσεις αρκετά foreach χρησιμοποιώντας Linq αλλά αυτό είναι αρκετά προχωρημένο οπότε foreach και μόνο.
  2. nucleus

    Εργασια σε C#

    Για να βρεις την ελάχιστη και την μέγιστη βαθμολογία που έχουν όλοι οι μαθητές πρέπει να δεις με την σειρά τις τιμές των arrays course0Grades,course1Grades,course2Grades και να κρατήσεις το index που έχει η ελάχιστη και η μέγιστη βαθμολογία. Αρχικά ορίζουμε 4 μεταβλητές. minGrade ελάχιστη βαθμολογία minGradeIndex θέση της ελάχιστης βαθμολογίας στον πίνακα που βρέθηκε maxGrade μέγιστη βαθμολογία maxGradeIndex θέση της μέγιστης βαθμολογίας στον πίνακα που βρέθηκε Μετά για κάθε πίνακα με τους βαθμούς for (int i = 0; i < course0Grades.Length; i++) { int currentGrade = course0Grades[i]; if(currentGrade < minGrade) { minGrade = currentGrade; minGradeIndex = i; } if(currentGrade > maxGrade) { maxGrade = currentGrade; maxGradeIndex = i; } }currentGrade βαθμός που ελέγχουμε. Αν ο βαθμός που ελέγχουμε είναι μικρότερος από την ελάχιστη βαθμολογία που έχουμε βρει μέχρι τότε κάνουμε αυτή την βαθμολογία την νέα ελάχιστη αποθηκεύοντας και την θέση που την βρήκαμε. Αν είναι μεγαλύτερος από την μέγιστη βαθμολογία που έχουμε βρει μέχρι τότε την αποθηκεύουμε σαν νέα μέγιστη βαθμολογία. Στο τέλος αφού έχουμε ελέγξει και τους τρεις πίνακες χρησιμοποιούμε τις μεταβλητές minGradeIndex και maxGradeIndex για να εκτυπώσουμε τα ονόματα των students. Console.WriteLine("min Grade Student name = {0}", studentNames[minGradeIndex]); Console.WriteLine("max Grade Student name = {0}", studentNames[maxGradeIndex]);Οπότε λύσαμε το 1 νομίζω. Με μια μικρή αλλαγή στο παραπάνω μπορείς να λύσεις και το 3. Αν βάλεις 2 ακόμα μεταβλητές που κρατάνε και το όνομα του course που βρέθηκε η μικρότερη και η μεγαλύτερη βαθμολογία. Και όταν είναι να αλλάξεις την ελάχιστη και την μέγιστη βαθμολογία αλλάζεις και αυτές τις 2 μεταβλητές. Για το 2. Σκέψου ότι οι βαθμολογίες του κάθε μαθητή βρίσκονται στην ίδια θέση των πινάκων course0Grades,course1Grades,course2Grades. Δηλαδή οι βαθμολογίες του stud0 βρίσκονται ως εξής course0Grades[0],course1Grades[0],course2Grades[0] για να βρεις τον μέσο όρο του stud0 απλώς προσθέτεις τις βαθμολογίες του και διαιρείς με το 3 μιας και έχεις τρία μαθήματα. Για να βρεις τον ελάχιστο και την μέγιστο μέσο όρο βαθμολογίας ακολουθούμε την ίδια διαδικασία όπως και πριν. Για το 4. πρέπει απλώς να βρεις τον μέσο όρο όλων των βαθμολογιών για κάθε μάθημα ως εξής πχ για το course0 double course0Average = (course0Grades[0] + course0Grades[1] + course0Grades[2] +course0Grades[3] + course0Grades[4] + course0Grades[5]) / 6Μετά απλώς πρέπει να βρεις ποιός μέσος όρος βαθμολογίας είναι ο μεγαλύτερος και ο μικρότερος.
  3. nucleus

    Εργασια σε C#

    Απο την αρχη λοιπόν string[] studentNames = new string[6];int[] course0Grades = new int[6];int[] course1Grades = new int[6];int[] course2Grades = new int[6];//input gradesfor (int i = 0; i < 6; i++){ string studentName = string.Format("stud{0}", i); studentNames[i] = studentName; for (int j = 0; j < 3; j++) { string courseName = string.Format("course{0}", j); Console.WriteLine("Eισάγετε βαθμό για τον μαθητή {0} και μάθημα {1}",studentName,courseName); if(j == 0) { course0Grades[i] = int.Parse(Console.ReadLine()); } else if(j == 1) { course1Grades[i] = int.Parse(Console.ReadLine()); } else { course2Grades[i] = int.Parse(Console.ReadLine()); } }}for (int i = 0;i < 6; i++){ Console.WriteLine("Student {0} Grades: Course0={1} Course1={2} Course2={3}", studentNames[i], course0Grades[i], course1Grades[i], course2Grades[i]);}studentNames πίνακας απο strings για τα ονόματα των students course0Grades πίνακας από ints για τους βαθμούς για το course0 course1Grades πίνακας από ints για τους βαθμούς για το course1 course2Grades πίνακας από ints για τους βαθμούς για το course2 Το όνομα του κάθε μαθητή βρίσκεται στο αντίστοιχο index του studentNames πχ studentNames[1] το όνομα του stud1 To ίδιο ισχύει και για τους βαθμούς πχ για τον stud1 οι βαθμοί του είναι για το course0 είναι στην course0Grades[1], για το course1 είναι στην course1Grades[1], για το course2 είναι στην course2Grades[1] Έτσι πρέπει να είναι αποθηκευμένα? Δοκίμασε μια τον παραπάνω κώδικα για να δεις τα δεδομένα
  4. nucleus

    Εργασια σε C#

    Συστοιχίες = arrays δηλαδή πίνακες ή λίστες ?
  5. nucleus

    Blade & Soul

    Τι εντυπώσεις? Ίδιες με αυτές που έχω αναφέρει στο θέμα για την κινέζικη version που είχα δοκιμάσει. Mass raids με 24 άτομα σαν το WoW δεν έχει για pve σαν endgame. Pvp open world = zerg fest. Pvp 1v1 και 3v3 (με ένα ιδιότυπο tag και switch σύστημα) είναι απόλυτα equalized χωρίς potions/consumables προσωπικά το pvp δεν με πολυενδιαφέρει. Αν ψάχνεις arena pvp δοκίμασε το δεν χάνεις κάτι. Αν αναζητάς pve endgame μέχρι στιγμής έχει ένα instance σαν endgame. Λογικά αργά ή σύντομα θα βάλουν και άλλα pve instances όπως πχ το Mushin tower (solo instance με ορόφους). Δες βίντεο απο όλα τα classes προσωπικά το combat system εμένα μου αρέσει δεν είναι και τόσο action όπως του Tera ωστόσο.
  6. nucleus

    Blade & Soul

    Και ξεκινήσαμε Server: Wild springs Name: Warbie Level:8 Class:Gon destroyer Faction: undecided, Crimson legion (κόκκινο faction) είναι full και δεν θέλω να μπω στην Cerulean (μπλε faction)
  7. nucleus

    Diablo 3

    Ναι αποτελεί την συνέχεια του κανονικού campaign. Πάντως δεν είναι μεγάλο είναι μόλις ένα act. Απλώς χωρίς το expansion ξεχνάς το adventure mode,rifts, greater rifts. Από το http://eu.battle.net/d3/en/reaper-of-souls/και διαβάζοντας το FAQ.
  8. nucleus

    Diablo 3

    Αν έχεις παρέα να το παίξεις αξίζει αν ακολουθήσετε όλο το story μαζί. Αν όχι το clan είναι εδώ για rifts και greater rifts με άπειρο γέλιο. Δυστυχώς χρειάζεσαι το expansion αλλιώς χάνεις αρκετά πράγματα
  9. nucleus

    Blade & Soul

    Και ας αρχίσουμε να ετοιμαζόμαστε σιγά σιγά http://download.bladeandsoul.com/BnS_Lite_Installer.exe Βγήκε ο client για install. 215 MB για αρχή. Μετά έχει 2 ακόμα το αρχικό 8,6 GB και στο τέλος 3,6 GB. EDIT: Συνολικά είναι γύρω στα 20 και κάτι GB. Άντε τώρα να βρούμε και server.
  10. nucleus

    Τι παίζετε αυτόν τον καιρό;

    Εγώ περιμένω το game of the year edition για το Anno 2205.
  11. Το πιο εύκολο είναι να το κάνεις με Powerpoint που περιλαμβάνεται στο Office και να φτιάξεις ένα slideshow. https://support.office.com/en-ie/article/Create-a-self-running-presentation-3caf0cef-7cda-40f1-ab7a-f161a1a91d93#
  12. nucleus

    Homeworld: Deserts of Kharak

    Εμπρός καλό μου φτυάρι. Που είχαμε μείνει με αυτό το game? Aααα ναι http://www.eurogamer.net/articles/2013-09-02-hardware-shipbreakers-now-an-official-homeworld-game Ενσωματώθηκε στο σύμπαν του Homeworld άλλαξε όνομα σε Homeworld:shipbreakers και σήμερα βλέπω αυτό στο steam http://store.steampowered.com/app/281610/?snr=1_4_4__100_11και σκέφτηκα τι μου θυμίζει τι μου θυμίζει. Άλλαξε πάλι όνομα και available για preorder πια. Κρίμα που βγαίνει μια μέρα μετά το Blade and soul στις 20 Ιανουαρίου του 2016.
  13. nucleus

    Τι παίζετε αυτόν τον καιρό;

    Συνεχίζω το Devilian στον Seadrift κάνοντας τον σταυρό μου όποτε τον κάνουν restart μην buggarei πάλι
  14. nucleus

    True Violet Project

    To project θα τελειώσει όταν βγει το Half-life 3 όπως φαίνεται
  15. nucleus

    Black Desert MMO από την Pearl Abyss

    Θα κυκλοφορήσει world wide απο ότι ακούγεται μέσα στο 2016. Το μοντέλο του θα είναι b2p (buy to play) όπως το guildwars 2. Περισσότερες πληροφορίες στο http://www.blackdesertonline.com/ To αν αξίζει από τα videos φαίνεται πως ναι. In other news αποκαλύφτηκε artwork για το awakening του Tamer. Πηγή
  16. nucleus

    Black Desert MMO από την Pearl Abyss

    Στην κορεάτικη version τα updates καλά κρατούν. Δεν ξέρω αν είδατε τα βίντεος για την νέα περιοχή που είχαν βάλει την Valencia.Στην συγκεκριμένη περιοχή και μόνο έγιναν αλλαγές στο PK σύστημα. Επίσης προστέθηκαν και 2 νέα dungeons. Πηγή
  17. nucleus

    Τι παίζετε αυτόν τον καιρό;

    Devilian open beta. MMO με gender locked classes haha!
  18. nucleus

    Blade & Soul

    Ha! Mark the date ladies and gentlemen. 19 Iανουαρίου 2016 http://www.bladeandsoul.com/en/news/blade-soul-launches-january-19-2016/
  19. nucleus

    Πείτε Ό,τι Θέλετε v5.0

    @Chosen, Μελλοντικός παίχτης του Diablo 10 spotted. Γερός και καλότυχος ο junior.
  20. nucleus

    Black Desert MMO από την Pearl Abyss

    Ενδιαφέρον paysafe υποστηρίζει σαν payment way? To 1o πακέτο no CBT access. Ίσως να πρέπει να περιμένουμε το announce για release date πρώτα.
  21. nucleus

    Black Desert MMO από την Pearl Abyss

    Που είχαμε μείνει? α ναι στα awakening classes. I present you the the Harbinger of Death Sorceress Awakening Πηγή Αναμένονται σύντομα για τον Giant για την Ranger και για την Tamer (remember gender locked classes)
  22. nucleus

    Blade & Soul

    Νέο class στην κορεάτικη version Hybrid ανάμεσα σε kung fu master και force master. Would you like to know more?
  23. nucleus

    Lost Ark

    Ετοιμάστε τους boosters σαν και τα νεύρα σας μιας και θα lagάρει ελαφρώς Πηγή
  24. nucleus

    Επιλογη pci/pci-e wireless adapter

    To οικονομικό http://www.e-shop.gr/tp-link-tl-wn722n-150mbps-high-gain-wireless-n-usb-adapter-p-PER.612420 Το ακριβό http://www.e-shop.gr/tp-link-archer-t2uh-ac600-wireless-dual-band-usb-20-adapter-p-PER.612737 Αν δεις ότι η κεραία στα παραπάνω δεν σε καλύπτει μπορείς να πας σε μια τέτοια http://www.e-shop.gr/tp-link-tl-ant2408c-8dbi-24ghz-indoor-omni-directional-antenna-p-PER.612393 Αν έχεις πρόβλημα με το eshop μπορείς να δεις και στο πλαίσιο ή στην m-systems. To σημαντικό είναι να καλύπτει και τα τρία παρακάτω πρότυπα IEEE 802.11b, IEEE 802.11g, IEEE 802.11n. μερικές φορές τα αναφέρουν και ως εξής 802.11/b/g/n. Επίσης υπάρχουν κάποια που συνδέονται με mini-USB προσοχή σε αυτό. Τέλος ψάξε και στην εταιρεία αν παρέχει drivers για windows 10.
  25. nucleus

    Επιλογη pci/pci-e wireless adapter

    Γιατί ειδικά PCI/PCI-e και όχι μια USB ασύρματη κάρτα δικτύου?
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.