• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 18:02:19 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.
June 17, 2025, 18:02:19 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by asemas
[Today at 16:20:27]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426690
Total Topics: 31710
Online Today: 218
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 77
Guests: 124
Total: 201
vasilikitsatsi
A-TheITGuy
Billyskotsikas
LelisNiko
bougatsa
Smaragda
kstavroulis
George_RT
Vassoula
vasilis saitis
dmadarak
Athinaaz
IoannisMich
abiki
gianst
BossiTsif
asimomyti
victoria
odysseaskar
harischris
summersunshine
meliou
mprova
anastasis34
athena_apo
mayia psarikoglou
EvP
folas
cealexop
θσερναμε
Vangelan
george14
Don
stergios03
Andreas K
Nicotre
nikos123321
theofr
Belafonte
trelogauros7
Psychoktonos_
Carot1456
Kenedy
mailon
stelinas
chondrosp
papakyrn
Christop
dkatsoul
victoria ginikopoulou
spyros36
Δημητρης Αξιμιωτης
elenak
jimalexoud
hraklis2002
giorgosss03
drimagm
nikpamp
Pakapis5
tmpadasn
papatmaria
dkoui
agapi
TheKingInTheNorth
eli_k
marilita
iJasonOP
Emilios
maestros
Βασιλης
Εμφάνιση

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

Νέα!
Για αλλαγή του public name σας, επικοινωνήστε με έναν από τους Admins.
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 4375 times)
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


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

οκ θενξ !!

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

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

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

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

 Cheesy Cheesy Grin Grin Grin
« Last Edit: December 07, 2015, 21: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 08, 2015, 00:31:09 am »

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

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

ps : ψηθείτε να χρωστάτε και αρχ. υπολογιστών για το επόμενο εξάμηνο  Grin
« Last Edit: December 08, 2015, 00:35:13 am 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, 01:22:53 am »

Quote from: Schro on December 08, 2015, 00:31:09 am
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, 01:38:25 am »

Quote from: Tolis _tmo_ on December 08, 2015, 01: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, 02: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 09, 2015, 00:35:12 am »

την 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 09, 2015, 00:52:26 am »

Quote from: zwitsa on December 09, 2015, 00:35:12 am
την 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, 12:43:20 pm »

Quote from: Tolis _tmo_ on December 03, 2015, 11: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, 12:59:23 pm »

Quote from: ilektrik on December 09, 2015, 12:43:20 pm
Quote from: Tolis _tmo_ on December 03, 2015, 11: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, 13: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, 17:23:03 pm »

Quote from: Tolis _tmo_ on December 09, 2015, 00:52:26 am
Quote from: zwitsa on December 09, 2015, 00:35:12 am
την 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, 17: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, 19: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, 20:08:42 pm »

Quote from: elektra on December 09, 2015, 19: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, 20: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, 21: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...