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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

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

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

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29: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]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

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

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
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]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 62
Guests: 92
Total: 154
Yamal
vas22
chrichan
Filpan10
acolak
kap
programmer2004
ppoug
tzortzis
agapi
TheBadSalesman
Emilios
Vassoula
Solon
mpaltzak
Nikos_313
idchatzi
pliroforikarios
athena_apo
stavros0201
kostas1507
Isidora
eplysia
witchingHour
hevidis3524
Ioannis Apostolikas
mrotskos
nataliakara
_iliaskaz_
makato
hacky
dimitire
rafail zisiadis
Xris
chrisdardas
jimalexoud
antontsiorvas
tasos gourd
Saint_GR
kvas
Limpolits
ioannisfa
vaggelis.ntokas
athichatz
alexkont
odkoutrolikos
Fenia04
apapathe
Gaspard
gp6
marf10
manolitsis
george14
Nekt
mmikelo
Εμφάνιση

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

Νέα!
Επίσημη ενημέρωση για Αντιστοίχηση Μαθημάτων ΝΠΣ με ΠΠΣ και η συζήτηση στο forum.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Πρ.] Εργασία C 2008
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 4 5 [6] 7 8 ... 13 Go Down Print
Author Topic: [Δομημένος Πρ.] Εργασία C 2008  (Read 26889 times)
vasso
Καταστραμμένος
********
Gender: Female
Posts: 6672


Overambitious doer


View Profile WWW
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #75 on: May 04, 2008, 02:02:33 am »

τριγωνικός qui est que c'est?
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #76 on: May 04, 2008, 02:06:08 am »

Quote from: vasso on May 04, 2008, 02:02:33 am
τριγωνικός qui est que c'est?
Ντεν μιλώ γαλλικά καρντιά μου.  Tongue


Απ' τη στιγμή που η απόσταση του σταθμού 1 απ' τον 2 είναι ίδια μ' αυτήν που 'χει ο 2 απ' τον 1, γιατί να μην δεσμεύσουμε μόνο τον πίνακα πάνω απ' τη διαγώνιο;
Logged

class Windows extends Throwable implements Failure
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #77 on: May 04, 2008, 02:21:36 am »

Εγώ πάλι δε χρησιμοποίησα καθόλου πίνακα γαι αποστάσεις!
Δήλωσα μια μεταβλητή float και η απόσταση υπολογίζεται προσωρινά πριν την εφαρμογή της check()
Logged
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #78 on: May 04, 2008, 02:26:45 am »

Quote from: Emfanever on May 04, 2008, 02:21:36 am
Εγώ πάλι δε χρησιμοποίησα καθόλου πίνακα γαι αποστάσεις!
Δήλωσα μια μεταβλητή float και η απόσταση υπολογίζεται προσωρινά πριν την εφαρμογή της check()
Γιατί όμως η check να καλείται πολλές φορές αντί για μία αφού διαβάσεις όλα τα δεδομένα, that's a good question.


Δεν 'ναι κακή η υλοποίηση αυτή!
Logged

class Windows extends Throwable implements Failure
mademlis
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 144


Poison....


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #79 on: May 04, 2008, 02:54:29 am »

Να δώσω κάποιες πληροφορίες για την free (το ίδιο ισχύει και για την delete που θα μάθετε στο επόμενο εξάμηνο).

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

Ενας εμπειρικός χρυσός κανόνας στην αποδέσμευσης είναι ο εξής:
Αποδεσμεύουμε τη μνήμη ΑΚΡΙΒΩΣ τη στιγμή που σταματάμε να τη χρειαζόμαστε. ΟΥΤΕ μια εντολή νωρίτερα, ΟΥΤΕ μια εντολή αργότερα.

Γιατί;
Αν αποδεσμεύσουμε νωρίτερα, χάνουμε τα δεδομένα που χρειαζόμαστε.
Αν αποδεσμεύσουμε αργότερα, τότε περιορίζουμε τη διαθέσιμη μνήμη του συστήματος, με αποτέλεσμα να έχουμε ολοένα και λιγότερο διαθέσιμο χώρο στη μνήμη. Αν το πρόγραμμά μας έχει ανάγκη π.χ. απο αρκετούς μεγάλους πίνακες (προσωρινά) σε διάφορα σημεία, αυξάνουμε κατακόρυφα τον κίνδυνο να μας επιστρέψει NULL μια εντολή δέσμευσης, ενώ στην ουσία αν είχαμε κάνει σωστή αποδέσμευση, δεν θα υπήρχε πρόβλημα.

Σε λειτουργικά συστήματα όπως τα Windows ΝΤ, ΧΡ,2000, οπου έχει υιοθετηθεί έξυπνο σύστημα απόδοσης μνήμης σε κάθε προγράμμα που τρέχει, αποφεύγονται 2 σημαντικοί κίνδυνοι:
1) Να πειράχθεί μνήμη που ανήκει σε άλλο πρόγραμμα (ή στο ίδιο το λειτουργικό).
2) Να μείνει δεσμευένη μνήμη μετά το τέλος του προγράμματος.


Logged

Μένουμε Ελλάδα
Πάμε Χαλκιδική
Πάμε Καλαμίτσι
jeen
Νεούλης/Νεούλα
*
Gender: Male
Posts: 26



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #80 on: May 04, 2008, 14:37:26 pm »

Ρε παιδιά εγώ έχω άλλο πρόβλημα..Πως χρησιμοποιώ pointers σε συνθήκες; Για παράδειγμα γράφω if ( (*w)<wmin  || (*w)>wmax ){...}.Στη συνέχεια θέτω wmin=1, wmax=20 και w=50 και αντί να μου βγάλει το σχετικό μνμ σφάλματος που γράφω στις αγκύλες, δέχεται τη τιμή...Τι πρέπει να αλλάξω;
Logged

Η βία δεν είναι λύση..Η Λία όμως είναι Βίσση..!
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #81 on: May 04, 2008, 14:39:16 pm »

Quote from: jeen on May 04, 2008, 14:37:26 pm
Ρε παιδιά εγώ έχω άλλο πρόβλημα..Πως χρησιμοποιώ pointers σε συνθήκες; Για παράδειγμα γράφω if ( (*w)<wmin  || (*w)>wmax ){...}.Στη συνέχεια θέτω wmin=1, wmax=20 και w=50 και αντί να μου βγάλει το σχετικό μνμ σφάλματος που γράφω στις αγκύλες, δέχεται τη τιμή...Τι πρέπει να αλλάξω;
Για το w=50 λες; Προφανώς και το δέχεται. Αλλά ξέρεις τι έχεις κάνει; Έχεις αλλάξει το address του pointer έτσι!  Cheesy



Δηλαδή δείχνει σε άλλη θέση μνήμης από εκεί που έδειχνε αρχικά. Που μπορεί να μην σου ανήκει καν.
Logged

class Windows extends Throwable implements Failure
jeen
Νεούλης/Νεούλα
*
Gender: Male
Posts: 26



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #82 on: May 04, 2008, 14:58:58 pm »

 :???:Δε το έχω...Τι θέλεις να πεις; Το πρόβλημα μου είναι πως να ελέγξω αν μια ισχύς είναι μικρότερη ή μεγαλύτερη απ'το επιτρεπτό...Με τι εντολές...Γιατί αυτό που γράφω δε δουλευει...
Logged

Η βία δεν είναι λύση..Η Λία όμως είναι Βίσση..!
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #83 on: May 04, 2008, 15:01:05 pm »

Πόσταρε το συγκεκριμένο κομμάτι του προγράμματος να σου πούμε...
Logged
jeen
Νεούλης/Νεούλα
*
Gender: Male
Posts: 26



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #84 on: May 04, 2008, 15:08:51 pm »

   for(i=1;i<=n;i++)
   {
      printf("W[%d]=",i);
      scanf("%f",W+i);
      if( (*w)>wmax || (*w)<wmin)
      {
         printf("ERROR...!\aMi epitrepti sixnotita\n");
                        i--;
                }
   }
Logged

Η βία δεν είναι λύση..Η Λία όμως είναι Βίσση..!
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #85 on: May 04, 2008, 15:15:39 pm »

   for(i=0;i<n;i++)
   {
      printf("W[%d]=",i);
      scanf("%f",w+i);
      if( *(w+i) >wmax || *(w+i) <wmin)
      {
         printf("ERROR...!\aMi epitrepti sixnotita\n");
                        i--;
                }
  }
  κάντο έτσι
« Last Edit: May 04, 2008, 15:17:53 pm by Emfanever » Logged
jeen
Νεούλης/Νεούλα
*
Gender: Male
Posts: 26



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #86 on: May 04, 2008, 15:24:52 pm »

Τέλειο...Thanks..Το ίδιο πρόβλημα αντιμετώπισα και μέσα στην check στην περίπτωση που η νέα w προκύψει μικρότερη από τη wmin...Θα το κοιτάξω και αν δε τα καταφέρω θα έχετε νέα μου...Thanks και πάλι...
Logged

Η βία δεν είναι λύση..Η Λία όμως είναι Βίσση..!
ioannisnirvana
Ανερχόμενος/Ανερχόμενη
**
Posts: 83


Είμαι ηλεκτρολόγος, συμβαίνει κάτι;


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #87 on: May 04, 2008, 18:27:11 pm »

Το ίδιο πρόβλημα έχω κι εγώ μέσα στην check. Κάνω αυτόν τον έλεγχο :

if(*w1 > max) {
      *w1=max;
   }
   if(*w2 > max) {
      *w2=max;
   }

και ανάλογα στο τέλος για το με το min, αλλά δεν μου βγάζει σωστά αποτελέσματα. Συγκεκριμένα μου βγάζει πάντα σαν νέες ισχείς το min ότι εισόδους και να βάλλω....any ideas κανείς? Και το +i που βάζεις στη λούπα Emfanever ποια φυσική σημασία έχει? δεν μπορώ να καταλάβω...
Logged
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #88 on: May 04, 2008, 18:33:24 pm »

Εγώ δεν έχω καταλάβει γιατί να αλλάξεις τα όρια wmin και wmax.  Huh


Εγώ θα έβγαζα τη νέα ισχύ των δύο σταθμών κάθε φορά, αν ήταν εντός αυτών έχει καλώς, αλλιώς βγάζεις μήνυμα λάθους (μετακίνα το σταθμό σου φίλε, είσαι εκτός ορίων) και exit(1).


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

class Windows extends Throwable implements Failure
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία C 2008
« Reply #89 on: May 04, 2008, 18:45:37 pm »

Quote from: ioannisnirvana on May 04, 2008, 18:27:11 pm
Και το +i που βάζεις στη λούπα Emfanever ποια φυσική σημασία έχει? δεν μπορώ να καταλάβω...
Όταν έχεις μια διεύθυνση
π.χ
float *w;   

και έστω
 w=1000;    // το 1000 είναι η διεύθυνση, όχι το περιεχόμενο της διεύθυνσης

αν αποθηκεύσεις κάτι εδώ, αυτό επειδή είναι float (4 byte) θα καταλάβει τις διευθύνσεις 1000-1003

έτσι
αν γράψεις

w=w +1;
επειδή είναι τύπου float
γράφοντας +1 θα γίνει 1004 ώστε να δείχνει στο αμέσως επόμενο float

for (i=0;i<N;i++)
    scanf("%f", w+i); // αν δε βάλεις +i θα αποθηκεύει συνέχεια στην ίδια διεύθυνση

αυτό είναι ίδιο με :

for (i=0;i<N;i++)
    scanf("%f", &w[ι]);
Quote from: ioannisnirvana on May 04, 2008, 18:27:11 pm
Το ίδιο πρόβλημα έχω κι εγώ μέσα στην check. Κάνω αυτόν τον έλεγχο :

if(*w1 > max) {
      *w1=max;
   }
   if(*w2 > max) {
      *w2=max;
   }
μήπως μπορείς να ποστάρεις και κάτι τριγύρω από αυτό για να καταλάβουμε καλύτερα??
αν έχεις σωστά την check δε θα έπρεπε να σου κάνει προβλήματα...
« Last Edit: May 04, 2008, 19:00:55 pm by Emfanever » Logged
Pages: 1 ... 4 5 [6] 7 8 ... 13 Go Up Print
Jump to:  

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