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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[Today at 21:32:50]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[Today at 21:25:42]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[Today at 20:59:13]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 19:46:54]

[Γραφική] Λυμένα θέματα
by okanpala
[Today at 18:56:22]

Τι ακούτε αυτήν τη στιγμή...
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 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 _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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426698
Total Topics: 31710
Online Today: 242
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 52
Guests: 152
Total: 204
Cersei Tsoulannister
KZerenidis
Nikos_313
Gray139
odkoutrolikos
athena_apo
Zaxarenia
ppss
thomasdt
χασλμαλικι
christina02
etsilika
natavhoo
varvoutis
Annapar
Grigorisioan05
vaggelisx
PrincessConsuela
chaniotism
Stelios V.
ThanosV
sassi
Aglosdoum
dimopoul
stavr0s16
chrysa.tsilika
gprok
dorapangeiou
soule
tasos potsakis
soph553
Fovidis
DarkMagiK06
Dimos Bachlas
stelinas
MrGreekArrow
andyy
ppoug
sigklitiki
Aris★
kpapama
gpr000
spoun
dimitrisblioumis
dimchin
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
Εμφάνιση

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

Νέα!
Πρόγραμμα Χειμερινής Εξεταστικής 2024-2025
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > Προγραμματιστικές Τεχνικές >> Γενικά
0 Members and 1 Guest are viewing this topic.
Pages: 1 2 [3] 4 5 ... 7 Go Down Print
Author Topic: Προγραμματιστικές Τεχνικές >> Γενικά  (Read 12621 times)
Johnny English
Veteran
Καταστραμμένος
******
Posts: 5981


i know nothing


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #30 on: December 04, 2006, 22:05:09 pm »

Quote from: Kenny on December 04, 2006, 21:49:30 pm
Ρε παιδιά εμένα όλο αυτό μου φαίνεται κουλό. Γιατί να μας δώσει δύο πίνακες οι οποίοι μπορούν να πολλαπλασιαστούν μόνο σε μια πολύ ιδιαίτερη περίπτωση (n=m) ???

Απλά για να εξασκηθούμε στην πολλαπλή κληρονομικότητα ίσως..?

Παραθέτω τους constructors που έκανα:

Code:
A::A(int i, int j){

  n = i;
  m = j;

  if ((a=(int**)malloc(n*sizeof(int*))) == NULL){ cout << "ERROR";}

    for (int x = 0; x < n; x++)
    {
      if ((a[x]=(int*)malloc(m*sizeof(int))) == NULL){ cout << "ERROR";}
    }

}

Code:
B::B(int k){

  n = k;

  if ((b=(int*)malloc(n*sizeof(int))) == NULL){ cout << "ERROR";}
}

Code:
C::C(int i, int j):A(i,j),B(j){

  n = i;

  if ((c=(int*)malloc(n*sizeof(int))) == NULL){ cout << "ERROR";}
}
Logged
Verminoz
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 8236


I smoke my friends down to the filter


View Profile WWW
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #31 on: December 04, 2006, 22:11:20 pm »

Μα το ζήτημα δεν έχει να κάνει με κληρονομικότητα! Είναι καθαρά μαθηματικό...
Logged



Englab - Open source scientific/engineering platform
Rebetologion - Contemporary/Experimental


Κακούργα ύπαρξις!
Johnny English
Veteran
Καταστραμμένος
******
Posts: 5981


i know nothing


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #32 on: December 04, 2006, 22:13:09 pm »

Quote from: Kenny on December 04, 2006, 22:11:20 pm
Μα το ζήτημα δεν έχει να κάνει με κληρονομικότητα! Είναι καθαρά μαθηματικό...

Ε, δεν έχει και τίποτα σπουδαία μαθηματικά...
Logged
Verminoz
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 8236


I smoke my friends down to the filter


View Profile WWW
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #33 on: December 04, 2006, 22:15:34 pm »

Ναι δεν λέω, δεν είναι και τίποτα. Αυτό που εννοώ είναι ότι το πρόβλημα προκύπτει στο μαθηματικό μέρος της άσκησης, όχι στο προγραμματιστικό...οπότε τι εξάσκηση στην κληρονομικότητα? Κατά πάσα πιθανότητα ξέχασε να λάβει υπόψιν του την βασική προυπόθεση για τον πολλαπλασιασμό δύο πινάκων...
Logged



Englab - Open source scientific/engineering platform
Rebetologion - Contemporary/Experimental


Κακούργα ύπαρξις!
yorgos_78
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 681


Fear, Emptiness, Despair... (Napalm Death, 1994)


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #34 on: December 05, 2006, 00:13:45 am »

Συνάδελφοι μία ερώτηση. Επειδή για οικογενειακούς λόγους χρειάστηκε να λείψω για 2 εβδομάδες, έχω κάνει 2 απουσίες στο εργαστήριο. Γνωρίζει κανείς αν αυτό θα μου δημιουργήσει πρόβλημα; Ευχαριστώ...
Logged

We were somewhere around Barstow on the edge of the desert, when the drugs began to take hold...
nad
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 764



View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #35 on: December 05, 2006, 09:52:30 am »

 Στο εργαστήριο μπορείς να κάνεις μέχρι και δύο απουσίες(είσαι στο όριο...). Αν κάνεις παραπάνω, απλά θα πρέπει να γράψεις πάνω από 6 για να περάσεις στο τέλος.
Logged

Γιατί να λέμε βίαια τα νερά ενός ποταμού και όχι τις όχθες που τα περιορίζουν;
Μπ. Μπρεχτ


Μπορεί και να 'χω τρελαθεί
ο ίσκιος σου μ' ακολουθεί
Κυλά στις στέγες το γέλιο σου
σαν πρωινή βροχή και λιώνει την ψυχή...

Τόσες χιλιάδες αστέρια εκεί πάνω
κι εγώ μοναχή μου στη γη
ούτε που ξέρω πού είμαι, τι κάνω
και τι με κρατάει στη ζωή.

Σ' έχασα και γύρω πια νυχτώνει
Σ' έχασα κι η πόλη είναι σκληρή
Αγάπη μου, χαρά μου μόνη κι αληθινή...
yorgos_78
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 681


Fear, Emptiness, Despair... (Napalm Death, 1994)


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #36 on: December 05, 2006, 10:29:16 am »

Ευχαριστώ πολύ. Και μία διευκρίνιση (...αν και ελπίζω να μην χρειαστεί...), εννοείς από 6 και πάνω ή πάνω από 6;
Logged

We were somewhere around Barstow on the edge of the desert, when the drugs began to take hold...
Turambar
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 20652

μη νοιάζεσαι


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #37 on: December 05, 2006, 16:45:48 pm »

Mε έξι περνάς είναι το μότο.

Συνήθως κιόλας, αν γράψεις 6, παίρνεις και 6. Δεν το έχω διασταυρώση όμως
Logged

byeeee
Dr. Gonzo
Θαμώνας
****
Gender: Male
Posts: 466


4:48 Psychosis


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #38 on: December 10, 2006, 19:47:49 pm »

Οι operators χρησιμοποιούν αντίγραφα των αντικειμένων?
Ενώ ο πρώτος operator () μου δουλεύει σωστά, οι επόμενοι [ ] δεν βλέπουν τον updated πίνακα a (στην E εργασία αυτά).
Βασικά, μου φαίνεται ότι δεν βλέπουν καν τον πίνακα a Tongue

edit:
με μια συνάρτηση test(), που εμφανίζει στη main τα περιεχόμενα του a πίνακα, παρατηρώ, ότι ενώ καλώντας την a(b,c,d) η αντιστοίχηση
a[0] <- b, 
a[1] <- c,
a[2] <- d
γίνεται κανονικά,
εκτός του operator (), τα πράγματα πάνε κατά καπερναούμ...

Tον operator () τον έχω void. (Τον είχα και int πριν αλλά καμιά διαφορά.. μάλλον)


edit #2:
Mετά από μισή ώρα απερίγραπτων αλλαγών στον κώδικα παρατηρώ πως ό,τι και να κάνω, ο operator ()
δεν βγάζει με τίποτε την updated τιμή του πίνακα έξω (προς τους την main ή τους άλλους operators).

Δοκιμάζω μια συνάρτηση get_a(...) με όρισμα τον operator, a(b,c,d), αφού ο operator έχει αλλάχθει σε int ** και επιστρέφει το a.
Τζίφος. Νάδα. Η main αρνείται πεισματικά να δει τον a.
Κάνω μία αντιγραφή σε άλλους pointers, και ξανά στον a.
Μπα...
Όσο είμαι στην () όλα καλά, μετά τίποτα.
Κάνω 2 αντιγραφές, με δεύτερη συνάρτηση. Τα ίδια.

Τελικά λέω "α* %$%@&^!*" βαρέθηκα να γράφω στο Borland 3.1 που δεν υποστηρίζει Ctrl+C και Ctrl+V (copy-paste),
ας ανοίξω τον Borland 4.5 και θα το τρέχω μετά στον 3.1
(τον είχα καταργήσει γιατί ο 4.5 έχει πρόβλημα με τις συναρτήσεις τελικών συνθηκών.
Δεν δέχεται ουτε, φερ' ειπείν ούτε το free(c), ούτε το free((void *)c))

To τρέχω κιόλας για πλάκα, και μου βγάζει κατευθείαν σωστά αποτελέσματα, πλην όμως του κλασσικού
General Protection Exception στο τέλος, λόγω των free.
Aν κάνω και τις ~Α, ~Β, ~C, ~D σχόλια, τρέχει απροβλημάτιστα.

Συμπέρασμα...
πρίν   roll_over  extremely_shocked  Idiot  bang_head  bluescreen
τρέξτε το σε κάποιον άλλο compiler (αν χρησιμοποιείτε τους ίδιους)...
« Last Edit: December 10, 2006, 23:33:22 pm by Dr. Gonzo » Logged

Earth. What a shithole.
lost control
l0v3null
Θαμώνας
****
Gender: Male
Posts: 420


τι λεει θα παμε καμια....ΒΒΒβββόλτα?


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #39 on: December 11, 2006, 11:09:21 am »

Χμμμ....παρολο που ο compiler ειναι για πεταμα εγω δεν ειχα κανενα προβλημα.....στην πρωτη επικαλυψη βαζεις τις διευθυνσεις των αντιστοιχων αντικειμενων μεσω μια get_b() μελος κλασης του αντιστοιχου αντικειμενου επειδη η *b ειναι private.Στην a[c] ελεγχεις αν στις καταχωρησεις των a[j] υπαρχει η αντιστοιχη διευθυνση του πινακα του αντικειμνου του ορισματος π.χ του c , και αν ναι κανεις το αθροισμα το οποιο το γυριζεις με μια return στη συναρτηση της επικαλυψης.....

Η ασκηση και παλι φαινεται αρκετα περιεργη.Βαρεθηκα να κανω copy paste.Τη μια το ενδιαφερον εστιαζεται σε πολλαπλασιασμο πινακων και τωρα ανακυπτουν ανουσιες γραμμες κωδικα σαν αγγαρειας.Σκεφτομαι μηπως δε χρειαζονται αυτες οι 3 επικαλυψεις και ενωθουν σε μια μεσω των virtual που ειχε αναφερει ο Κορτεσης στο μαθημα,αλλα δεν το εχω πολυψαξει πως ακριβως δουλευουν....

P.S Οι free ειναι ουσιαστικα αχρειαστες....το προγραμματα που φτιαχνουμε τα διαχειριζεται η virtual machine των windows που κανει αυτοματα τις αποδεσμευσεις μνημης....
Logged

Τhis is my reality and YOU are a guest!
Johnny English
Veteran
Καταστραμμένος
******
Posts: 5981


i know nothing


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #40 on: December 11, 2006, 15:29:20 pm »

Μπορεί να μου πει κανείς τι ΣΚ@Τ@ κάνω λάθος????  Angry

 beg


Code:
void A::operator() (B x, C y, D z)
{

  if (( a = (int**)malloc(n*sizeof(int*))) == NULL){ cout << "ERROR";}

  a = &a[0];

  a[0] = x.get_b();
  a[1] = y.get_c();
  a[2] = z.get_d();
}

int A::operator[] (B x)
{
  int temp = 0;

  for (int i = 0; i < n; i++)
  {
     if (a[i] == x.get_b() )
     {
       for (int j = 0; j < x.get_n(); j ++)
       {
         temp += a[i][j];
       }
       return temp;
     }
  }

  return 0;
}

Υ.Γ.: Σε μένα χρειάζεται μάλλον free (compiler 3.1) γιατί χωρίς free η μνήμη μπούκωσε..  Shocked Roll Eyes
Logged
Dr. Gonzo
Θαμώνας
****
Gender: Male
Posts: 466


4:48 Psychosis


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #41 on: December 11, 2006, 15:38:41 pm »

Juan, δεν νομίζω ότι έχεις λάθος. Παρόμοια υλοποίηση έχω κι εγώ.
Ο πρώτος operator σου δουλεύει? Κάνε ένα check αν βλέπεις κανονικά τα a[j] εκεί μέσα.
Αν ναι, δοκίμασε με κάποιον άλλο compiler.

Εμένα μου έβγαζε αποτελέσματα μεν, από άσχετες θέσεις μνήμης δε.
Logged

Earth. What a shithole.
lost control
Johnny English
Veteran
Καταστραμμένος
******
Posts: 5981


i know nothing


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #42 on: December 11, 2006, 15:40:48 pm »

Δεν παίρνω σωστά αποτελέσματα..  Sad

Θα το τσεκάρω αλλά..

Δεν παίζει θέμα compiler... αυτά τα πράγματα θα 'πρεπε να δουλεύουν σε όλους.
Logged
jeffaldo
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 803



View Profile WWW
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #43 on: December 11, 2006, 17:28:28 pm »

να ρωτήσω κάτι??

οι δικές μας εργασίες είναι ίδιες με του 3ου εξαμήνου??και αν ναι,έχει κανείς τις περσινές???
« Last Edit: December 11, 2006, 17:38:34 pm by jeffaldo » Logged
l0v3null
Θαμώνας
****
Gender: Male
Posts: 420


τι λεει θα παμε καμια....ΒΒΒβββόλτα?


View Profile
Re: Προγραμματιστικές Τεχνικές >> Γενικά
« Reply #44 on: December 11, 2006, 18:19:24 pm »

Juan ολα καλα , αλλα μετα το allocation αυτο γιατι ακριβως το κανεις?....a = &a[0];
Φανταζομαι οτι εκει γινεται το λαθος και οριζεται η α σε ασχετη διευθυνση παρολο που φαινεται ως ταυτοτητα,αυτη η γραμμη ειναι αχρειαστη.

Υ.Γ Καλυτερα να χρησιμοποιειτε την calloc αντι της malloc.Κανει κι αυτη allocation με λιγο διαφορετικα  ορισματα αλλα με τη διαφορα οτι αρχικοποιει τις διευθυνσεις με null ωστε να αποφευχθει μπερδεμα στη συνεχεια.....συγκεκριμενα για το παραπανω θα γραφαμε a=(int **)calloc(3,sizeof(int *));.....πρωτα το πληθος και μετα το μεγεθος......
« Last Edit: December 11, 2006, 18:22:07 pm by l0v3null » Logged

Τhis is my reality and YOU are a guest!
Pages: 1 2 [3] 4 5 ... 7 Go Up Print
Jump to:  

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