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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Η/Μ Πεδίο ΙΙ] Γενικές απ...
by Nikos_313
[Today at 14:01:54]

[Ηλεκτρονική ΙΙ] Γενικές ...
by nmpampal
[Today at 07:37:37]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 17, 2026, 10:51:29 am]

[Οργάνωση Υπολογιστών] Γε...
by Lalson
[June 17, 2026, 10:37:39 am]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 16, 2026, 23:48:23 pm]

Πότε θα βγει το μάθημα; -...
by Giannis Masterio
[June 16, 2026, 16:09:27 pm]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[June 16, 2026, 15:31:13 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[June 16, 2026, 11:11:17 am]

[Διανεμημένη Παραγωγή] Γε...
by astra
[June 15, 2026, 19:20:06 pm]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

Των συνειρμών το παίγνιο....
by χηρουλα Αλεξίου
[June 15, 2026, 06:18:44 am]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[June 11, 2026, 14:05:57 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]

[Γραφική] Λυμένα θέματα
by Roidos
[June 10, 2026, 21:37:48 pm]

Τι ακούτε αυτήν τη στιγμή...
by Karaμazoβ
[June 10, 2026, 18:42:33 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Giannis Masterio
[June 09, 2026, 20:27:57 pm]

[ΣΑΕ ΙΙ] Απορίες σε ασκήσ...
by Hyperlaz02
[June 09, 2026, 12:01:45 pm]
Στατιστικά
Members
Total Members: 10402
Latest: anton
Stats
Total Posts: 1431473
Total Topics: 32024
Online Today: 1386
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 49
Guests: 837
Total: 886
Chrisapostol
g.petss
Ulmo
ZontanosThrylos
BossiTsif
Nikossok118
geomourat
Kouges
ioannisfa
AggelosK
maria_sf8
ProffesorBee
aris123321
asantor
leolam
Cancid45
Dimos Bachlas
iliaskou
sassi
kthanop
stefpapa21
amekrasa
adons
asemas
andrpats
linda
G.V.
Zaxarenia
themis01
grigorad
micelethe
stavrosk
jkara
fopapadopoulos
Aris★
Azagoul
aachmet
elefp
fischer03
georgia.evagg
trelonoobaki
thunder
christina02
Εμφάνιση

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

Νέα!
Η γραμματεία είναι ανοιχτή καθημερινά 12:00-13:30 Tongue
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt, tony stank) > [Δομημένος Πρ.] Εργασία Ε 2008
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 10 Go Down Print
Author Topic: [Δομημένος Πρ.] Εργασία Ε 2008  (Read 25518 times)
AgentCain
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3587


Σοφράνο βρίσε, σταβέντο φτύσε!


View Profile
[Δομημένος Πρ.] Εργασία Ε 2008
« on: May 15, 2008, 10:05:30 am »

Από το ethmmy

Ένα σύστημα συναγερμού εξυπηρετεί Ν απομακρυσμένους σταθμούς (πχ οικίες). Κάθε σταθμός διαθέτει Κi (i=1,...,Ν) αισθητήρες οι οποίοι ανιχνεύουν κάποιο συμβάν. Όταν ένας αισθητήρας ενεργοποιηθεί ο σταθμός εκπέμπει ένα σήμα η τιμή του οποίου είναι μοναδική και χαρακτηρίζει το συγκεκριμένο σταθμό και το συγκεκριμένο αισθητήρα.

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

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

Hμ/νία λήξης δηλώσεων: 21/05/2008
Logged


Ανάμεσα σ'αυτό που σκέφτομαι, σ'αυτό που θέλω να σας πω, σ'αυτό που πιστεύω ότι σας λέω, σ'αυτό που σας λέω, σ'αυτό που θέλετε να ακούσετε, σ'αυτό που ακούτε, σ'αυτό που πιστεύετε ότι καταλαβαίνετε, σ'αυτό που θέλετε να καταλάβετε και σ'αυτό που καταλαβαίνετε υπάρχουν τουλάχιστον 9 πιθανότητες να μην συννενοηθούμε.

mitsos_dlx
Θαμώνας
****
Gender: Male
Posts: 366



View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #1 on: May 15, 2008, 17:53:09 pm »

Για τον πίνακα με τις λάθος καταχωρήσεις που θα αυξάνει το μέγεθος του κάθε φορά τι θα κάνουμε?

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

Επίσης,  το e εμείς θα το ορίσουμε όσο θέλουμε έτσι? Αλλά μετά θα πρέπει όταν διαβάζουμε τις τιμές του 2διάστατου πίνακα  να ελέγχουμε να μην είναι στο διάστημα +e ή -e από όλες τις προηγούμενες. Αλλιώς θα έχουμε πρόβλημα. Λίγο χαζό αυτό το σημείο με το e....

Κατά τα άλλα μου φαίνεται σαφής η άσκηση... 
Logged
zeus90
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 810



View Profile WWW
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #2 on: May 15, 2008, 18:02:49 pm »

Με realloc πρέπει να λύνεται το πρόβλημα σου.Όσο για το e και μένα με έχει μπερδέψει.Αφού δεν λέει κάτι συγκεκριμένο όμως, λογικά το εισαγει ο χρήστης.Εκτός και αν εννοεί το e=2,71...
Logged

“Έμαθα πως όταν κάποιος σκαρφαλώσει στην κορυφή ενός ψηλού λόφου, το μόνο που διαπιστώνει είναι πως πρέπει να σκαρφαλώσει σε πολλούς λόφους ακόμα..."
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



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

Με μία πρώτη ματιά, το e θα το δηλώσεις ως σταθερά (δικής σου προτίμησης) - ή θα το εισάγει ο χρήστης.



Δεν παίζει να 'ναι το γνωστό e!  Cheesy
Logged

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


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #4 on: May 15, 2008, 18:35:10 pm »

Quote from: Γιώργος on May 15, 2008, 18:04:58 pm
Δεν παίζει να 'ναι το γνωστό e!  Cheesy

Ε ναι ,μάλλον ,αλλιώς δε θα έλεγε :

" ... από έναν αριθμό e..." 

πάντως, δε παίρνω όρκο όλα να τα περιμένουμε !
Logged
AgentCain
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3587


Σοφράνο βρίσε, σταβέντο φτύσε!


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

Το e δεν είναι ο αριθμός e αλλά προφανώς το ελάχιστο όριο ε της διαφοράς (αυτό που υπάρχει στον ορισμό του ορίου)

Η άσκηση όμως είναι λογική
Logged


Ανάμεσα σ'αυτό που σκέφτομαι, σ'αυτό που θέλω να σας πω, σ'αυτό που πιστεύω ότι σας λέω, σ'αυτό που σας λέω, σ'αυτό που θέλετε να ακούσετε, σ'αυτό που ακούτε, σ'αυτό που πιστεύετε ότι καταλαβαίνετε, σ'αυτό που θέλετε να καταλάβετε και σ'αυτό που καταλαβαίνετε υπάρχουν τουλάχιστον 9 πιθανότητες να μην συννενοηθούμε.

dimvam
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 815



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

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

2. Επίσης, το σήμα που χαρακτιρίζει κάθε σταθμό το επιλέγουμε εντελώς αυθαίρετα εμείς; Εγώ δήλωσα μια μεταβλητή cnt ώστε ο πρώτος αισθητήρας του πρώτου σταθμού να εκπέμπει 1, ο δεύτερος 2, ο τρίτος 3, ο πρώτος αισθητήρας του δεύτερου σταθμού 4 κ.όκ. Είναι σωστό;

Thanx!
Logged

Στο μόνο μέρος που βρίσκεις ανθρώπους χωρίς προβλήματα είναι στο νεκροταφείο.
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Ο πίνακας θα είναι ΝxN ,

Ν σταθμοί και για καθέναν από αυτούς Ν αισθητήρες

έτσι νομίζω δλδ....

edit: ΑΚΥΡΟ , τλκ κάθε γραμμή έχει διαφορετικό μέγεθος ,έκανα ένα παράδειγμα παρακάτω  ...
« Last Edit: May 16, 2008, 00:49:56 am by Emfanever » Logged
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #8 on: May 15, 2008, 19:09:58 pm »

Quote from: dimvam on May 15, 2008, 19:05:26 pm
Να ρωτήσω κάτι.
1. Όταν ορίζουμε δισδιάστατο πίνακα με τη malloc πώς μπορούμε μετά να επεξεργαστούμε τα στοιχεία του; Αφού δεν ξέρουμε πόσες στήλες έχει κάθε γραμμή. Δηλαδή, δηλώνουμε τους αισθητήρες που έχει ο κάθε σταθμός, όμως το πόσες γραμμές έχει ο πίνακας είναι άγνωστο (δηλώνεται και αυτό).
Κανονικά όπως επεξεργάζεσαι έναν διδιάστατο πίνακα. Με την malloc καθορίζεις και τις διαστάσεις του. Smiley
Logged

class Windows extends Throwable implements Failure
dimvam
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 815



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

Quote from: Emfanever on May 15, 2008, 19:08:33 pm
Ο πίνακας θα είναι ΝxN ,

Ν σταθμοί και για καθέναν από αυτούς Ν αισθητήρες
Δε νομίζω! Εγώ αλλιώς καταλαβαίνω από την εκφώνηση. Λέει: "...να διαβάζονται ο αριθμός των αισθητήρων για κάθε σταθμό."
Άλλωστε ζητάει να δεσμεύσουμε δυναμικά μνήμη, λογικά θα θέλει pointers σε pointers, και δύο malloc όπως είχε κάνει στο προηγούμενο μάθημα.
Logged

Στο μόνο μέρος που βρίσκεις ανθρώπους χωρίς προβλήματα είναι στο νεκροταφείο.
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Ε ωραία , πάλι που είναι το πρόβλημα αφού εσύ δίνεις τον αριθμό των αισθητήρων ,πως γίνεται να μη τον ξέρεις μετά???
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #11 on: May 15, 2008, 19:35:36 pm »

Αυτό είναι ένα παράδειγμα για το πως περίπου θα γίνει ο πίνακας:

Code:
#include <stdio.h>
#include <stdlib.h>
void main()
{
   int i,j,n,**spiti ,*aisth;

   printf("Dwse ton arithmo twn spitiwn: ");
   scanf("%d",&n);

   aisth=(int *)malloc(n*sizeof(int));
   printf("Arithmos aisthitirwn:\n");

   for (i=0;i<n;i++){
       printf("%dou spitiou=",i+1);
       scanf("%d",&aisth[i]);
   }

   spiti=(int**)malloc(n*sizeof(int *));

   for (i=0;i<n;i++)
       spiti[i]=(int *)malloc((aisth[i])*sizeof(int));

   

   printf("Pinakas:\n");

   for (i=0;i<n;i++){
        printf("\n Spiti %d: ",i+1);
        for (j=0;j<aisth[i];j++){
           spiti[i][j]=rand();
   printf("%-6d ",spiti[i][j]);
        }
  }
     

   }

Στο κανονικό πρόγραμμα προφανώς οι τιμές δε θα δίνονται από τη rand() .
« Last Edit: May 15, 2008, 20:35:13 pm by Emfanever » Logged
tomshare3
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 518


011101000110111101101101


View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #12 on: May 16, 2008, 00:15:27 am »

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


τελικα το μεγεθος καθε γραμμης ειναι μεταβαλλομενο ή σταθερο=Ν?
Logged

..try not. Do. Or do not.
Γιώργος
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3796



View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #13 on: May 16, 2008, 00:33:39 am »

Quote from: tomshare3 on May 16, 2008, 00:15:27 am
για κάθε σταθμό να ορίζεται δυναμικά ένας πίνακας δυο διαστάσεων σε κάθε γραμμή του οποίου να αντιστοιχεί ένας σταθμός και στα στοιχεία της γραμμής να αντιστοιχούν οι τιμές του σήματος που εκπέμπονται όταν ενεργοποιηθούν οι αντίστοιχοι αισθητήρες του σταθμού.
Κάθε γραμμή του πίνακα να έχει ακριβώς τόσες θέσεις όσοι είναι και οι αισθητήρες που εξυπηρετεί ο αντίστοιχος σταθμός.(δηλαδη Ν)


τελικα το μεγεθος καθε γραμμης ειναι μεταβαλλομενο ή σταθερο=Ν?
Μεταβαλλόμενο. Προφανώς θα χρειαστείς κι έναν μονοδιάστατο to keep track of it.
Logged

class Windows extends Throwable implements Failure
dimvam
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 815



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

Quote from: Emfanever on May 15, 2008, 19:35:36 pm
Αυτό είναι ένα παράδειγμα για το πως περίπου θα γίνει ο πίνακας:
Code:
....

   for (i=0;i<n;i++){
        printf("\n Spiti %d: ",i+1);
        for (j=0;j<aisth[i];j++){
           spiti[i][j]=rand();
   printf("%-6d ",spiti[i][j]);
Στο κανονικό πρόγραμμα προφανώς οι τιμές δε θα δίνονται από τη rand() .


Το δεύτερο for πώς το εξηγείς; Δεν πρέπει να είναι σωστό γιατι το aisth(i) είναι pointer. (όπου παρένθεση εννοώ αγκύλη)
« Last Edit: May 16, 2008, 01:16:46 am by dimvam » Logged

Στο μόνο μέρος που βρίσκεις ανθρώπους χωρίς προβλήματα είναι στο νεκροταφείο.
Pages: [1] 2 3 ... 10 Go Up Print
Jump to:  

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