• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
February 03, 2026, 20:53:55 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
February 03, 2026, 20:53:55 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Μόλις μπήκα απο κατατακτή...
by chatzikys
[Today at 18:51:59]

Πότε θα βγει το μάθημα; -...
by Mr Watson
[Today at 18:17:39]

[ΣΑΕ Ι] Γενικές απορίες κ...
by Mr Watson
[Today at 17:01:02]

Αποτελέσματα Εξεταστικής ...
by chatzikys
[Today at 11:49:01]

[Ηλεκτρονική Ι] Γενικές α...
by Giopan
[Today at 05:46:35]

[ΑΣΗΕ] Απορίες στις ασκήσ...
by Tasos Bot
[February 02, 2026, 20:50:35 pm]

[Μεταφορά και Διανομή ΗΕ]...
by Mr Watson
[February 02, 2026, 18:55:28 pm]

Τι καφέ πίνετε;
by MeTheWizard
[February 02, 2026, 18:27:47 pm]

[Θ.Υ.Α.] Επικαιρότητα, απ...
by OlgaG
[February 01, 2026, 00:17:07 am]

H Στοά των Off Topic
by chatzikys
[January 31, 2026, 21:05:09 pm]

Πολεμοσυνέδριο στο ΑΠΘ
by dimikotz
[January 31, 2026, 20:47:47 pm]

[ΣΦ ΗΛ-ΜΗΧ] Ανακοίνωση Σχ...
by Χαρούμενη Πατάτα
[January 30, 2026, 21:10:34 pm]

[Τηλεπ. Συστήματα ΙΙΙ] Γε...
by sofipout
[January 30, 2026, 20:34:25 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Tsn
[January 30, 2026, 18:59:46 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[January 30, 2026, 12:45:58 pm]

[Unofficial Mod] Dark Mod...
by nmpampal
[January 29, 2026, 23:02:21 pm]

[Μετάδοση Θερμότητας] Γεν...
by chatzikys
[January 29, 2026, 20:58:16 pm]

[Ηλεκτρική Οικονομία] Γεν...
by ttsengel
[January 29, 2026, 19:29:04 pm]

[Οπτική] Γενικές Πληροφορ...
by Σουλης
[January 29, 2026, 16:07:44 pm]

Erasmus στο Università de...
by georgino
[January 28, 2026, 17:58:29 pm]
Στατιστικά
Members
Total Members: 10347
Latest: Panagiotis2007
Stats
Total Posts: 1430042
Total Topics: 31901
Online Today: 365
Online Ever: 6054
(January 14, 2026, 06:07:19 am)
Users Online
Users: 62
Guests: 185
Total: 247
mgrivab
sterprts
George15
chris123
georgepana9
apostchris
arkou
dimitrisblioumis
chrysolog
xristostsi03
valco08
Stathisxd
pannick_v
Tasos Bot
Fantomus Verus
fatseas
Don
Konstantina Karamani
georgiosz
Mitsos1
jim_sklab
HlektrikhPatata
Κατερίνα
mdimitrig
kokkinosgior
nikd
georgino
abunchofcells
tasos potsakis
filippos
femanak
manek
zontos
alexiosmara
DKarakatsanis
Domnious
kesha
Ilias007
mimaki
kostisgialamas
chatzikys
christina02
cealexop
kourasan!
Mitsian
achiplia
Tserk
iliaskou
gkaramp
Anatolim
Ioakeim Zisis
bougatsa
RAFI
giannis23
nchatzo
thenoface
george14
mikrosdia
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] 3 Go Down Print
Author Topic: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ  (Read 5027 times)
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #15 on: December 07, 2015, 20:28:19 pm »

οκ θενξ !!

μάλλον γιατί καιγόμαστε να τελειώνουμε Tongue και εγώ στην ηλικία τους την είχα παρατήσει τη c++ Tongue

Quote from: Firkraag on December 07, 2015, 20:28:19 pm
Quote from: Tolis _tmo_ on December 07, 2015, 20:26:10 pm
ΥΓ2: γτ γράφουμε μόνο εμείς οι 4 που είμαστε όλοι >5 εξ. οεο;

Οι μικροί είναι πολύ ντροπαλοί για να ποστάρουν,διαβάζουν τα topics μόνο.

το facebook είναι πιο φιλικό για τους ντροπαλούς..

 Cheesy Cheesy Grin Grin Grin
« Last Edit: December 07, 2015, 20:36:42 pm by pentium4 » Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

Schro
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 2797


if cats could talk, they wouldn't.


View Profile
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #16 on: December 07, 2015, 23:31:09 pm »

Quote from: Tolis _tmo_ on December 07, 2015, 20:26:10 pm
. . .
ΥΓ2: γτ γράφουμε μόνο εμείς οι 4 που είμαστε όλοι >5 εξ. οεο;

τρομάζουμε τους μικρούς.  Grin
καλά δουλεύει το team work μέχρι στιγμής πάντως υπάρχει μια συνεννόηση!  Wink
άσε που η pentium κοροιδεύει τα καινούργια μέλη του φόρουμ για τα username τους.  

ps : ψηθείτε να χρωστάτε και αρχ. υπολογιστών για το επόμενο εξάμηνο  Grin
« Last Edit: December 07, 2015, 23:35:13 pm by Schro » Logged

------------------------------------TIPS FOR SUCCESS------------------------------
If you run out of handsoap, simply boil water and dip your hands into it. Heat kills bacteria.

When a zombie tells you that they want brains, what they mean is they want an education. Don't be afraid to help them.

Don't study until the night before a big exam. This will ensure that all the information is fresh in your mind.
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #17 on: December 08, 2015, 00:22:53 am »

Quote from: Schro on December 07, 2015, 23:31:09 pm
ps : ψηθείτε να χρωστάτε και αρχ. υπολογιστών για το επόμενο εξάμηνο  Grin

Είναι ανάμεσα στα 7 μαθήματα που χρωστάω από το 4ο εξάμηνο  Embarrassed Sad
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
Schro
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 2797


if cats could talk, they wouldn't.


View Profile
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #18 on: December 08, 2015, 00:38:25 am »

Quote from: Tolis _tmo_ on December 08, 2015, 00:22:53 am
. . .

good! μια απ΄ τα ίδια και εδώ!  Wink
Logged

------------------------------------TIPS FOR SUCCESS------------------------------
If you run out of handsoap, simply boil water and dip your hands into it. Heat kills bacteria.

When a zombie tells you that they want brains, what they mean is they want an education. Don't be afraid to help them.

Don't study until the night before a big exam. This will ensure that all the information is fresh in your mind.
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #19 on: December 08, 2015, 01:33:43 am »

στην τελική, αν είναι σωστή η εργασία μου, μέχρι που το διασκέδασα κιόλας όταν έβαλα για παράμετρο char και έβγαλε ιερογλυφικά

(όσο περνάνε τα χρόνια στη σχολή καίγεσαι)
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

zwitsa
Θαμώνας
****
Posts: 332



View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #20 on: December 08, 2015, 23:35:12 pm »

την data στην κλάση τι την δηλώνουμε;  Undecided
Logged

Σήμερα είμαστε, αύριο δεν είμαστε. Φάτε.
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #21 on: December 08, 2015, 23:52:26 pm »

Quote from: zwitsa on December 08, 2015, 23:35:12 pm
την data στην κλάση τι την δηλώνουμε;  Undecided

Πρέπει να κάνεις template κλάση για να υποστηρίζει διαφορετικούς τύπους. Τα δεδομένα data θα είναι οποιουδήποτε τύπου, δηλαδή αν έχεις δηλώσει template <typename T> θα είναι T.
Εμένα είναι έτσι η κλάση:
Code:
template <typename T>
class Node{
    private:
        T data;
        ...
    public:
        ...
};
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
ilektrik
Ανερχόμενος/Ανερχόμενη
**
Posts: 74


"Pika-pi"


View Profile
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #22 on: December 09, 2015, 11:43:20 am »

Quote from: Tolis _tmo_ on December 03, 2015, 10:51:40 am
EDIT: λειτουργεί ο τρόπος με το cast. Επίσης αν θες μπορείς να περιορίσεις το εύρος των τυχαίων αριθμών σε [48,123] που αντιστοιχεί στα
0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ώστε αν ο τύπος είναι string ή char να μη περιέχουν πολύ περίεργα σύμβολα.

Αυτό με το type casting το καταλαβαίνω... ο τύπος T όμως πως θα καθορίζεται και αυτός τυχαία; Θα πρέπει να αποτελεί είσοδο στον constructor και θα δίνεται από τον χρήστη κάθε φορά που δημιουργείται αντικείμενο;  Huh
Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #23 on: December 09, 2015, 11:59:23 am »

Quote from: ilektrik on December 09, 2015, 11:43:20 am
Quote from: Tolis _tmo_ on December 03, 2015, 10:51:40 am
...
Αυτό με το type casting το καταλαβαίνω... ο τύπος T όμως πως θα καθορίζεται και αυτός τυχαία; Θα πρέπει να αποτελεί είσοδο στον constructor και θα δίνεται από τον χρήστη κάθε φορά που δημιουργείται αντικείμενο;  Huh

Ο τύπος καθορίζεται τη στιγμή που δημιουργείς ένα αντικείμενο της κλάσης. Δηλαδή στη main σου μόλις δημιουργήσεις ένα αντικείμενο έτσι: Node<int> myNode1 το Τ θα είναι τύπου int για αυτό το αντικείμενο, ενώ αν λίγο παρακάτω κάνεις Node<char> myNode2 το T θα είναι τύπου char για το αντικείμενο myNode2. Σε αυτή την άσκηση δε χρησιμοποίησα καθόλου είσοδο από τον χρήστη.
Αν θες διάβασε και αυτό (προς το τέλος) για να καταλάβεις καλύτερα τα templates: http://www.cplusplus.com/doc/tutorial/templates/
έχει και παράδειγμα.

Επίσης κάτι που διάβασα, δε γίνεται να γράψεις στο στυλ: main.cpp + kati.h + kati.cpp όταν δουλεύεις με templates, πρέπει όλος ο κώδικάς σου να είναι στο .h άρα θα έχεις τα αρχεία main.cpp + kati.h
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
ilektrik
Ανερχόμενος/Ανερχόμενη
**
Posts: 74


"Pika-pi"


View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #24 on: December 09, 2015, 12:06:44 pm »

Ευχαριστώ!   Grin
Logged
zwitsa
Θαμώνας
****
Posts: 332



View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #25 on: December 09, 2015, 16:23:03 pm »

Quote from: Tolis _tmo_ on December 08, 2015, 23:52:26 pm
Quote from: zwitsa on December 08, 2015, 23:35:12 pm
την data στην κλάση τι την δηλώνουμε;  Undecided

Πρέπει να κάνεις template κλάση για να υποστηρίζει διαφορετικούς τύπους. Τα δεδομένα data θα είναι οποιουδήποτε τύπου, δηλαδή αν έχεις δηλώσει template <typename T> θα είναι T.
Εμένα είναι έτσι η κλάση:
Code:
template <typename T>
class Node{
    private:
        T data;
        ...
    public:
        ...
};

α είσαι προ εσύ... θενκ γιουυυυ Smiley
Logged

Σήμερα είμαστε, αύριο δεν είμαστε. Φάτε.
zwitsa
Θαμώνας
****
Posts: 332



View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #26 on: December 09, 2015, 16:55:02 pm »

δεν κατάλαβα πως θα κάνουμε 1 λίστα αλλά ουσιαστικά 1 λίστα για κάθε τύπο; ουσιαστικά το next τι θα δείχνει; :/
Logged

Σήμερα είμαστε, αύριο δεν είμαστε. Φάτε.
elektra
Ανερχόμενος/Ανερχόμενη
**
Gender: Female
Posts: 88


View Profile
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #27 on: December 09, 2015, 18:04:29 pm »

Quote
Πρώτα θα πάρεις ένα τυχαίο αριθμό από μία από αυτές τις συναρτήσεις που σου δίνει η c++ έτοιμες:
http://en.cppreference.com/w/cpp/numeric/random
μετά θα κάνεις type casting ως εξής:
Code:
static_cast<T>(to_tyxaio_noymero)
νομίζω θα λειτουργήσει... δε το έχω δοκιμάσει ακόμα.

EDIT: λειτουργεί ο τρόπος με το cast. Επίσης αν θες μπορείς να περιορίσεις το εύρος των τυχαίων αριθμών σε [48,123] που αντιστοιχεί στα
0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ώστε αν ο τύπος είναι string ή char να μη περιέχουν πολύ περίεργα σύμβολα.

Δημιουργώ εναν τυχαιο αριθμό με τη rand() στο διαστημα που προτείνεις κ εσυ, αλλα δυστυχως στο vs2013 μου χτυπάει στην static_cast<T> (randNum) το εξής λάθος...

error C2440: 'static_cast' : cannot convert from 'int' to 'std::string'

Γενικα λογικο λαθος για την static_cast αλλα ειπες οτι δούλεψε σε εσενα.Τι κάνω τόσο διαφορετικά;  Embarrassed
Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση H - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #28 on: December 09, 2015, 19:08:42 pm »

Quote from: elektra on December 09, 2015, 18:04:29 pm
Quote
...

Δημιουργώ εναν τυχαιο αριθμό με τη rand() στο διαστημα που προτείνεις κ εσυ, αλλα δυστυχως στο vs2013 μου χτυπάει στην static_cast<T> (randNum) το εξής λάθος...

error C2440: 'static_cast' : cannot convert from 'int' to 'std::string'

Γενικα λογικο λαθος για την static_cast αλλα ειπες οτι δούλεψε σε εσενα.Τι κάνω τόσο διαφορετικά;  Embarrassed

Δε μπορείς να κάνεις έτσι απλά cast από οτιδήποτε σε string!

Αν θες το πρόγραμμά σου να υποστηρίζει και string lists θα πρέπει να κάνεις template specialization για τον τύπο string και επειδή το μόνο κομμάτι που σε ενοχλεί είναι το cast (που λογικά το έχεις στον constructor) χρειάζεται να κάνεις specialization μόνο στη μέθοδο του constructor.

Για το cast μπορείς να δεις εδώ:
http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c
Η rand συγκεκριμένα επιστρέφει int (αν θυμάμαι καλά)

Αυτό που θα έκανα εγώ είναι:
Code:
//Default class constructor
template <typename T>
Node<T>::Node(){
    data = static_cast<T> rand();
    next = nullptr;
}

//Specialized constructor for string values
template <>
Node<string>::Node(){
    stringstream ss;
    ss << (char)(rand());
    data = ss.str();
    next = nullptr;
}

ΕΔΙΤ: μη ξεχάσεις να κάνεις #include <sstream> και #include <string> !!
« Last Edit: December 09, 2015, 19:14:17 pm by Tolis _tmo_ » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
elektra
Ανερχόμενος/Ανερχόμενη
**
Gender: Female
Posts: 88


View Profile
Re: [C++] Άσκηση 8 - 2015/2016 Προθεσμία 10/12/2015 12:00 πμ
« Reply #29 on: December 09, 2015, 20:02:30 pm »

Αψογος! Σε ευχαριστω  Smiley

Ναι ήθελα και string λίστα γι αυτό χτυπούσε. Παω να δοκιμάσω την specialization τώρα

Ευχαριστώ κ πάλι!
Logged
Pages: 1 [2] 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...