Προγραμματισμός Υπολογιστών με C++
- mashua
- bit level
- Posts: 18
- Joined: Wed Mar 11, 2015 10:56 pm
- Academic status: 1st year
- Gender: ♂
- Location: @th3n$
- Contact:
Re: Προγραμματισμός Υπολογιστών με C++
Παιδιά χαιρετώ σας, 3 ερωτησούλες η πρώτη πιθανότατα περιττή:
1) είναι δυνατό να παραδοθούν οι εργασίες όλες μαζί στο τέλος του εξαμήνου και αν ναι πότε ακριβώς γίνεται αυτο; πρεπει να στείλω στον καθηγητή email και να τον ειδοποιήσω δλδ;
2) είναι δυνατόν να γίνουν οι εργασίες ατομικά χωρίς ομάδα;
3) όταν λέει με χρήση gcc για windows, μέσω ποιου περιβάλλοντος εννοεί; μέσω Cygwin ( http://cygwin.com/ ) ή μέσω msys ( http://mingw.org/wiki/msys ), ποιο είναι εγκατεστημένο στα μηχανήματα που θα γίνει η εξέταση;
thanks προκαταβολικά
1) είναι δυνατό να παραδοθούν οι εργασίες όλες μαζί στο τέλος του εξαμήνου και αν ναι πότε ακριβώς γίνεται αυτο; πρεπει να στείλω στον καθηγητή email και να τον ειδοποιήσω δλδ;
2) είναι δυνατόν να γίνουν οι εργασίες ατομικά χωρίς ομάδα;
3) όταν λέει με χρήση gcc για windows, μέσω ποιου περιβάλλοντος εννοεί; μέσω Cygwin ( http://cygwin.com/ ) ή μέσω msys ( http://mingw.org/wiki/msys ), ποιο είναι εγκατεστημένο στα μηχανήματα που θα γίνει η εξέταση;
thanks προκαταβολικά
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
1) Είναι δυνατόν.mashua wrote:Παιδιά χαιρετώ σας, 3 ερωτησούλες η πρώτη πιθανότατα περιττή:
1) είναι δυνατό να παραδοθούν οι εργασίες όλες μαζί στο τέλος του εξαμήνου και αν ναι πότε ακριβώς γίνεται αυτο; πρεπει να στείλω στον καθηγητή email και να τον ειδοποιήσω δλδ;
2) είναι δυνατόν να γίνουν οι εργασίες ατομικά χωρίς ομάδα;
3) όταν λέει με χρήση gcc για windows, μέσω ποιου περιβάλλοντος εννοεί; μέσω Cygwin ( http://cygwin.com/ ) ή μέσω msys ( http://mingw.org/wiki/msys ), ποιο είναι εγκατεστημένο στα μηχανήματα που θα γίνει η εξέταση;
thanks προκαταβολικά
2) Αν δεν κάνω λάθος, οι εργασίες μπορούν να γίνουν ατομικά μόνο από φοιτητές μεγαλύτερων ετών. Μπορεί όμως αυτό που λέω να μην ισχύει πλέον, κάποιος να διορθώσει ASAP αν λέω βλακείες.
3) Περιβάλλον Cygwin.
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
- mashua
- bit level
- Posts: 18
- Joined: Wed Mar 11, 2015 10:56 pm
- Academic status: 1st year
- Gender: ♂
- Location: @th3n$
- Contact:
Re: Προγραμματισμός Υπολογιστών με C++
thanks a lot!Georgilakis Antonios wrote:
1) Είναι δυνατόν.
2) Αν δεν κάνω λάθος, οι εργασίες μπορούν να γίνουν ατομικά μόνο από φοιτητές μεγαλύτερων ετών. Μπορεί όμως αυτό που λέω να μην ισχύει πλέον, κάποιος να διορθώσει ASAP αν λέω βλακείες.
3) Περιβάλλον Cygwin.
- skater1995
- bit level
- Posts: 44
- Joined: Tue Jan 21, 2014 5:14 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Σχετικά με την εργασία στο μέρος υλοποίησης της SetData έχω κάνει το εξής: *buffer = *data_ptr;
Όταν τρέχω την εργασία μου πετάει Unhandled exception σε αυτό το σημείο.Πιστεύω τα υπόλοιπα functions τα έχω σωστά.Αν κατάλαβε κάποιος τι γράφω ας βοηθήσει γιατί από ίντερνετ δεν υπάρχει σωτηρία...
Όταν τρέχω την εργασία μου πετάει Unhandled exception σε αυτό το σημείο.Πιστεύω τα υπόλοιπα functions τα έχω σωστά.Αν κατάλαβε κάποιος τι γράφω ας βοηθήσει γιατί από ίντερνετ δεν υπάρχει σωτηρία...
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
Αυτό που κάνεις εδώ είναι το εξής: στο σημείο που δείχνει ο δείκτης buffer αντιγράφεις το περιεχόμενο του σημείου που δείχνει ο δείκτης data_ptr.skater1995 wrote:Σχετικά με την εργασία στο μέρος υλοποίησης της SetData έχω κάνει το εξής: *buffer = *data_ptr;
Όταν τρέχω την εργασία μου πετάει Unhandled exception σε αυτό το σημείο.Πιστεύω τα υπόλοιπα functions τα έχω σωστά.Αν κατάλαβε κάποιος τι γράφω ας βοηθήσει γιατί από ίντερνετ δεν υπάρχει σωτηρία...
Αυτό είναι ΟΚ για δείκτες που δείχνουν σε single objects ή primitive values, αλλά δεν αντιγράφει σωστά ένα array, διότι μόνο το πρώτο στοιχείο του array αντιγράφεται στον προορισμό.
Φυσικά, pointer dereference μπορείς να κάνεις ΜΟΝΟ αν pointer != NULL, και επειδή εδώ κατά πάσα πιθανότητα ο buffer pointer είναι NULL, έχεις unhandled exception.
Αν και οι δύο buffer pointers δείχνουν σε array buffers (!= NULL), τα οποία είναι και τα δύο ίσα με την τιμή, έστω size_t szBufferSize, τότε πολύ απλά μπορείς να κάνεις copy ως εξής:
Code: Select all
#include <cstring>
// ...
// Copy buffer.
(void) memcpy(buffer, data_ptr, szBufferSize);
// ...
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
-
- bit level
- Posts: 21
- Joined: Tue Oct 06, 2009 12:36 am
- Gender: ♀
Re: Προγραμματισμός Υπολογιστών με C++
Αν υπάρχει κάποπς που ψάχνει ομάδα για τη 2η εργασία, pm! Ευχαριστώ
-
- byte level
- Posts: 120
- Joined: Tue Oct 07, 2014 8:17 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα. Μέχρι τώρα χρησιμοποιούσα για τη C++ το Eclipse αλλά λόγω κάποιων προβλημάτων που υπήρχαν σκέφτηκα να βάλω την δωρεάν έκδοση του Visual Studio - Blend. Παρ'όλ'αυτά λόγω του ότι έχω Windows 8.1 μου εμφανίζει το παρακάτω μήνυμα:
"visual studio requires a newer version of windows to display this content. Please update to windows 10 anniversarry edition (10.0.14393.0) or later."
Έχει κανείς κάποια ιδέα για το τι μπορώ να κάνω εκτός από το να τρέχω να εγκαθιστώ τα Windows 10;
Ευχαριστώ
"visual studio requires a newer version of windows to display this content. Please update to windows 10 anniversarry edition (10.0.14393.0) or later."
Έχει κανείς κάποια ιδέα για το τι μπορώ να κάνω εκτός από το να τρέχω να εγκαθιστώ τα Windows 10;
Ευχαριστώ
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
Υπάρχει περίπτωση να θέλει κάποιο update το σύστημα.efev2014 wrote:Καλησπέρα. Μέχρι τώρα χρησιμοποιούσα για τη C++ το Eclipse αλλά λόγω κάποιων προβλημάτων που υπήρχαν σκέφτηκα να βάλω την δωρεάν έκδοση του Visual Studio - Blend. Παρ'όλ'αυτά λόγω του ότι έχω Windows 8.1 μου εμφανίζει το παρακάτω μήνυμα:
"visual studio requires a newer version of windows to display this content. Please update to windows 10 anniversarry edition (10.0.14393.0) or later."
Έχει κανείς κάποια ιδέα για το τι μπορώ να κάνω εκτός από το να τρέχω να εγκαθιστώ τα Windows 10;
Ευχαριστώ
Με μια πρώτη σκέψη μπορείς να βάλεις το Microsoft® Visual Studio 2013.
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
-
- byte level
- Posts: 120
- Joined: Tue Oct 07, 2014 8:17 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Ok θα το τσεκάρω. ΕυχαριστώGeorgilakis Antonios wrote:Υπάρχει περίπτωση να θέλει κάποιο update το σύστημα.efev2014 wrote:Καλησπέρα. Μέχρι τώρα χρησιμοποιούσα για τη C++ το Eclipse αλλά λόγω κάποιων προβλημάτων που υπήρχαν σκέφτηκα να βάλω την δωρεάν έκδοση του Visual Studio - Blend. Παρ'όλ'αυτά λόγω του ότι έχω Windows 8.1 μου εμφανίζει το παρακάτω μήνυμα:
"visual studio requires a newer version of windows to display this content. Please update to windows 10 anniversarry edition (10.0.14393.0) or later."
Έχει κανείς κάποια ιδέα για το τι μπορώ να κάνω εκτός από το να τρέχω να εγκαθιστώ τα Windows 10;
Ευχαριστώ
Με μια πρώτη σκέψη μπορείς να βάλεις το Microsoft® Visual Studio 2013.
-
- bit level
- Posts: 21
- Joined: Tue Oct 06, 2009 12:36 am
- Gender: ♀
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα, για να κάνω check το ppmfile ότι τα bytes αποθηκευονται με σωστή σειρά, μπορώ
κάπως να δω το Image01.ppm σε μορφή τέτοια ώστε να μπορώ να τα συγκρίνω? το hex editor αυτό
κάνει? Ευχαριστώ
κάπως να δω το Image01.ppm σε μορφή τέτοια ώστε να μπορώ να τα συγκρίνω? το hex editor αυτό
κάνει? Ευχαριστώ
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
Ναι, μπορείς να χρησιμοποιήσεις ένα hex editor.AkisMadrugada wrote:Καλησπέρα, για να κάνω check το ppmfile ότι τα bytes αποθηκευονται με σωστή σειρά, μπορώ
κάπως να δω το Image01.ppm σε μορφή τέτοια ώστε να μπορώ να τα συγκρίνω? το hex editor αυτό
κάνει? Ευχαριστώ
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
- skater1995
- bit level
- Posts: 44
- Joined: Tue Jan 21, 2014 5:14 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα
Σχετικά με το τελευταίο κομμάτι φωτεινότητας στην πρώτη εργασία.Έχω δημιουργήσει ένα αντικείμενο τύπου color x και προσπαθώ μέσα στην for μου να διαβάσω τις τιμές των rgb,χρησιμοποιώντας το function με το index.Προσπαθώ να κάνω κάτι τέτοιο
x-> *buffer; Μπορεί να είναι τελείως λάθος.Την λογική άμα έχει καταλάβει κάποιος θα ήθελα να μάθω,που παίρνει το index και επιστρέφει το χρώμα. Ευχαριστώ
Σχετικά με το τελευταίο κομμάτι φωτεινότητας στην πρώτη εργασία.Έχω δημιουργήσει ένα αντικείμενο τύπου color x και προσπαθώ μέσα στην for μου να διαβάσω τις τιμές των rgb,χρησιμοποιώντας το function με το index.Προσπαθώ να κάνω κάτι τέτοιο
x-> *buffer; Μπορεί να είναι τελείως λάθος.Την λογική άμα έχει καταλάβει κάποιος θα ήθελα να μάθω,που παίρνει το index και επιστρέφει το χρώμα. Ευχαριστώ
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
skater1995 wrote:Καλησπέρα
Σχετικά με το τελευταίο κομμάτι φωτεινότητας στην πρώτη εργασία.Έχω δημιουργήσει ένα αντικείμενο τύπου color x και προσπαθώ μέσα στην for μου να διαβάσω τις τιμές των rgb,χρησιμοποιώντας το function με το index.Προσπαθώ να κάνω κάτι τέτοιο
x-> *buffer; Μπορεί να είναι τελείως λάθος.Την λογική άμα έχει καταλάβει κάποιος θα ήθελα να μάθω,που παίρνει το index και επιστρέφει το χρώμα. Ευχαριστώ
Αρχικά, και μόνο η ύπαρξη του member function pointer operator (->*, δεν υπάρχουν παρενθέσεις) υποδηλώνει σφάλμα.
Εάν τα RGB είναι unsigned char, τότε κάτι όπως το παρακάτω νομίζω ότι αρκεί:
Code: Select all
#include <cstddef> // 'size_t' type.
#include "Color.h"
// ...
// 'buffer' is of type: 'unsigned char *'
for (size_t i = 0; i < szBufferSize; i += 3U)
{
// Get the current color:
Color c(buffer[i], // R
buffer[i + 1U], // G
buffer[i + 2U]); // B
// Do something with the color ...
}
// ...
Η ιδέα είναι ότι τα pixels είναι αποθηκευμένα στο buffer ως RGBRGBRGB...RGB, και διαβάζεις μια τριπλέτα (ένα χρώμα) σε κάθε iteration.
Τροποποίησε κατάλληλα τον κώδικα σύμφωνα με την εργασία.
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
- Gtkall
- Buffer underflow exception
- Posts: 3
- Joined: Thu Oct 17, 2013 10:29 am
- Academic status: 4th year
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Ψάχνω συμφοιτητή για δημιουργία ομάδας για τις προγραμματιστικές εργασίες του μαθήματος. Δεν με νοιάζει έτος ούτε εμπειρία, μαζί θα μάθουμε :P
Όποιος ενδιαφέρεται, ΠΜ. Ευχαριστώ.
Όποιος ενδιαφέρεται, ΠΜ. Ευχαριστώ.
-
- bit level
- Posts: 21
- Joined: Tue Oct 06, 2009 12:36 am
- Gender: ♀
Re: Προγραμματισμός Υπολογιστών με C++
Οι μέσοι όροι για το Image01.ppm είναι αυτοί που έχει στο παράδειγμα?
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα παιδιά, μήπως γνωρίζει κανείς πότε θα είναι η τελευταία προθεσμία παράδωσης της συνολικής εργασίας?(Μήπως είναι την ημέρα που δίνουμε το μάθημα ή θυμάμαι λάθος;)
Coders Cycle
-> -> -> ->
-> -> -> ->
- skater1995
- bit level
- Posts: 44
- Joined: Tue Jan 21, 2014 5:14 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα,
Μήπως γνωρίζει κάποιος πως δηλώνουμε τον buffer μας στην ppm_format.Μας λέει Vec3<float> αλλά ακριβώς πώς είναι?
:S
Μήπως γνωρίζει κάποιος πως δηλώνουμε τον buffer μας στην ppm_format.Μας λέει Vec3<float> αλλά ακριβώς πώς είναι?
:S
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα παιδιά, ήθελα να ρωτήσω αν γνωρίζει κανείς να μου πει πως είναι ο σωστός τρόπος να διαβάσω την εικόνα γιατί την διαβάζω με ifstream και getline().Τα format, width, height, pixel value τα διαβάζει μια χαρά, όμως όταν προσπαθώ να κάνω print το επόμενο getline τρελαίνεται το cmd(ατελείωτο cout)..είναι λογικό αυτό?(ακόμα και ένα getline να συμβεί)
Coders Cycle
-> -> -> ->
-> -> -> ->
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
Δεν νομίζω ότι το Vec3<float> είναι για τον buffer, αλλά για κάτι άλλο. Εξάλλου, το κάθε pixel είναι RGB, με R,G,B: 0-255 (unsigned char)skater1995 wrote:Καλησπέρα,
Μήπως γνωρίζει κάποιος πως δηλώνουμε τον buffer μας στην ppm_format.Μας λέει Vec3<float> αλλά ακριβώς πώς είναι?
:S
Μπορεί να κάνω και λάθος όμως.
EDIT: Υπάρχει μια μικρή πιθανότητα να χρειάζεται για υπολογισμούς, με clamp της χρωματικής τιμής από 0-255 σε 0.0F-1.0F.
Υπάρχει περίπτωση μια χρωματική τιμή να είναι ίση με 13 (0-255). Όμως, αυτός είναι ο κωδικός ASCII του χαρακτήρα "\r" (Windows), όπου και σταματάει την ανάγνωση η μέθοδος "getLine()". Σκέψου η εικόνα να μην έχει καθόλου χρωματικές τιμές ίσες με 13 (πιθανό αν είναι μονοχρωματική).v4ss4s1n wrote:Καλησπέρα παιδιά, ήθελα να ρωτήσω αν γνωρίζει κανείς να μου πει πως είναι ο σωστός τρόπος να διαβάσω την εικόνα γιατί την διαβάζω με ifstream και getline().Τα format, width, height, pixel value τα διαβάζει μια χαρά, όμως όταν προσπαθώ να κάνω print το επόμενο getline τρελαίνεται το cmd(ατελείωτο cout)..είναι λογικό αυτό?(ακόμα και ένα getline να συμβεί)
Προσπάθησε να δεις την εικόνα ως byte array και όχι ως char array (με την ευρύτερη έννοια του όρου). Η μέθοδος "getLine()" δεν είναι για δουλειά με bytes.
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
-
- bit level
- Posts: 21
- Joined: Tue Oct 06, 2009 12:36 am
- Gender: ♀
Re: Προγραμματισμός Υπολογιστών με C++
Καλησπέρα, για την 2η εργασία Εφόσον η Image είναι απόγονος της Array όταν καλείται ο constructor της Image, καλείται και ο constructor της Array σωστά? αλλα σύμφωνα με αυτά που έχει δώσει ο καθηγητής η Array δεν έχει default constructor και μου πετάει error
error C2512: 'math::Array<math::Vec3<float>>' : no appropriate default constructor available όταν καλείται ο constructor της Image.
Καμία ιδέα κανείς?
error C2512: 'math::Array<math::Vec3<float>>' : no appropriate default constructor available όταν καλείται ο constructor της Image.
Καμία ιδέα κανείς?
- Georgilakis Antonios
- Mbyte level
- Posts: 548
- Joined: Mon Dec 02, 2013 11:10 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Straight into your Mind
Re: Προγραμματισμός Υπολογιστών με C++
AkisMadrugada wrote:Καλησπέρα, για την 2η εργασία Εφόσον η Image είναι απόγονος της Array όταν καλείται ο constructor της Image, καλείται και ο constructor της Array σωστά? αλλα σύμφωνα με αυτά που έχει δώσει ο καθηγητής η Array δεν έχει default constructor και μου πετάει error
error C2512: 'math::Array<math::Vec3<float>>' : no appropriate default constructor available όταν καλείται ο constructor της Image.
Καμία ιδέα κανείς?
Code: Select all
#include "Image.h"
#include "Array.h"
#include "Vec3.h"
// ...
using namespace math;
// ...
// inside the .cpp file:
/* Constructor */
Image::Image(Vec3<float> & var1/*, ... */) :
Array(var1) // WARNING: passing reference to super-class.
{
// rest of initialization with/without 'var1' ...
}
// ...
"Always keep a low profile. Cause when you get high, things can become strange."
"Never stop doing things you like. Never stop loving people you love. Never give up. Believe in yourself. Believe in your hidden powers."
"Honesty is an expensive gift, so don't expect it from cheap people."
The Scientist
-
- bit level
- Posts: 21
- Joined: Tue Oct 06, 2009 12:36 am
- Gender: ♀
Re: Προγραμματισμός Υπολογιστών με C++
Ναι το βρήκα πρέπει να καλείς directly τον constructor της Array στην υλοποίηση του constructor της Image()