• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2026, 17:48:40 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:48:40 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: 55
Guests: 688
Total: 743
kypros
hevidis3524
DidosK
koutsoure
kskou
Fenia04
Christofanis
Efthimis
mimaki
Vasilis Koudounis
G.V.
kakousios
AggelosK
panagiotisv
antwnis
Raphael
sassi
PetrosCc
panosvass
Nikos_313
HlektrikhPatata
themis01
Kyriacos
JohnGeoMou
Master oogway
christina02
GeorgeMg
mantzjim
RivenT
Ulmo
Petran25
BENEDICTVS
Kenedy
athizoi
Athinaaz
Natk
geomourat
iliaskou
emilykazani
Chrisapostol
g.petss
ZontanosThrylos
BossiTsif
Nikossok118
Kouges
ioannisfa
maria_sf8
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt, tony stank) > [Δομημένος Πρ.] Εργασία Ε 2008
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 4 5 [6] 7 8 ... 10 Go Down Print
Author Topic: [Δομημένος Πρ.] Εργασία Ε 2008  (Read 25540 times)
oMpixlas
Καταξιωμένος/Καταξιωμένη
***
Posts: 128


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

Quote from: Emfanever on May 18, 2008, 15:00:15 pm
Quote from: oMpixlas on May 18, 2008, 11:50:04 am
Loipon... Akouste ti ekana na me peite an einai swsto...
(L einai o synolikos arithmos twn sthlwn... dhladh an se mia grammh exei 5, sthn allh exei 3 kai sthn allh exei 8 o L=5+3+8)
int Z=N+L;
 P=(float**)malloc(Z*sizeof(float));
Kai prepei na einai swsto dioti efoson ta apothikeyei sthn mnhmh san se seira ara to mono pou exeis na kaneis einai na ftiakseis enan "monodiastato" pinaka apo bytes pou exei N+L stoixeia...

Ki epeishs... as mou ekshghsei kapoios to "Ένα σήμα αναγνωρίζεται ως αυθεντικό, όταν βρεθεί η τιμή του διαφέρει λιγότερο από έναν αριθμό e από μία από τις προκαθορισμένες τιμές του πίνακα." Eimai sigouros twa pia pws den kserei na ekfrazetai o anthrwpos... Nohmatika den vgazei nohma...

Αν L είναι ο συνολικός αριθμός στηλών όπως εξηγείς τότε ο πίνακας έχει L στοιχεία όχι N+L
Για το 2ο δες εδώ.


vazw kai to N giati tha kataxwrei kai \0... all den kserw kai pali... mallon dikio exeis... tha to dw an einai... thnx gia thn apnthsh

Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

To \0 το βάζει στα strings. Εδώ δεν παίζει κάτι τέτοιο!
Logged
antonios
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1236



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

Εχω γράψει αυτό για να κάνω τον έλεγχο, που χρειάζεται στο τελευταιο κομμάτι του προγράμματος, αλλά δεν δουλεύει..... Μήπως μπορεί να βοηθήσει κανείς πιο έμπειρος??
for (i=0;i<M;i++){
  printf("Dose tin endeixi tou %d simatos\n", i+1);
  scanf ("%f", &timi);
  for (j=0;j<n;j++){
    for (k=0;k<stathmoi;j++){
      p=timi-stathmoi[j];
      if (p<0)
      p=stathmoi[j]-timi;
      if (p<timi_e)
       printf("H timi pou dosate antistoixei ston Stathmo %d kai ton aisthitira %d", j+1, k+1);
       break;
   }               
 }
Logged
zeus90
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 810



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

Quote from: AgentCain on May 18, 2008, 16:02:58 pm
Quote from: Emfanever on May 18, 2008, 15:58:07 pm
Στο e-thmmy παρόλο που έχω κάνει ομάδα, δε μπορώ να ανεβάσω την εργασία. Έχετε και εσείς το ίδιο πρόβλημα ακόμα?  Undecided

Δεν ξέρω αλλά το πρόβλημα πρέπει να είναι γενικότερο
Πήγα να κάνω ομάδα στις πιθανότητες και δεν με άφησε. Μάλλον θα περιμένουμε μέχρι τη Δευτέρα-Τρίτη

Το πρόβλημα πρέπει να έχει λυθεί.
Τουλάχιστον εγώ πριν από λίγο κατάφερα να κάνω ομάδα στις Πιθανότητες..... Tongue
Logged

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


011101000110111101101101


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

Quote from: antonios on May 18, 2008, 18:01:53 pm
Εχω γράψει αυτό για να κάνω τον έλεγχο, που χρειάζεται στο τελευταιο κομμάτι του προγράμματος, αλλά δεν δουλεύει..... Μήπως μπορεί να βοηθήσει κανείς πιο έμπειρος??
for (i=0;i<M;i++){
  printf("Dose tin endeixi tou %d simatos\n", i+1);
  scanf ("%f", &timi);
  for (j=0;j<n;j++){
    for (k=0;k<stathmoi;j++){
      p=timi-stathmoi[j];
      if (p<0)
      p=stathmoi[j]-timi;
      if (p<timi_e)
       printf("H timi pou dosate antistoixei ston Stathmo %d kai ton aisthitira %d", j+1, k+1);
       break;
   }               
 }


εχεισ μπερδεψει τις μεταβλητες στα for... το i το χρησημοποιεις για τις επαναληψεις του Μ.... ο πινακας μετα θελει δεικτες j,k..
Logged

..try not. Do. Or do not.
anonymous-root
Veteran
Καταστραμμένος
******
Posts: 8574


What do you want to troll today?


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

Quote from: Emfanever 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);

Στο κανονικό πρόγραμμα προφανώς οι τιμές δε θα δίνονται από τη rand() .


μήπως πρέπει να είναι

float **stathmoi;
int *aisth;
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Μάλλον ,ανάλογα με το τι θέλει ο καθένας.
Στο πρόγραμμα μου float το έκανα , απλά αυτό ήταν ένα πρόχειρο παράδειγμα και το έβαλα int.
Logged
anonymous-root
Veteran
Καταστραμμένος
******
Posts: 8574


What do you want to troll today?


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

Quote from: Emfanever on May 18, 2008, 23:26:43 pm
Μάλλον ,ανάλογα με το τι θέλει ο καθένας.
Στο πρόγραμμα μου float το έκανα , απλά αυτό ήταν ένα πρόχειρο παράδειγμα και το έβαλα int.

και οι aisth int ;

γιατί όταν τα βάζω και τα 2 φλοατ μου μετραει μόνο για τον 1ο αισθητήρα κάθε σπιτιού Cheesy
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

O aisth int αφού αποθηκεύει τον αριθμό των στοιχείων κάθε γραμμής.


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

   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=(float**)malloc(n*sizeof(float *));

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

   for (i=0;i<n;i++)
       for (j=0;j<aisth[i];j++){
   printf("Dwse tin timi tou aisthitira %d %d : " ,i+1,j+1);
   scanf("%f",&spiti[i][j]);
       }
   

   printf("Pinakas:\n");

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

   }

Δε δουλεύει αυτό??Έκανα μερικές προσθήκες
Logged
eddie
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 766


Αντρέα γύρνα πίσω!


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

Να ρωτήσω κι εγώ κάτι??
Στο παρακάτω μου βγάζει ο compiler "syntax error", αλλά δεν μπορώ να βρω τι φταίει....
Ο b είναι ο πίνακας με τις συχνότητες που δεν αντιστοιχούν πουθενά και ο p αυτός με τις αρχικές συχνότητες...


Code:
	if((b[i]=(float *)realloc(float **p,1*sizeof(float )))==NULL)
{
printf("Den yparxei epipleon mnimi gia epektasi");
exit(0);
}
Logged

Nothing ever changes when we pray...


Baile Átha Cliath, beimid ar ais!!!
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Αφού μια φορά έχεις float * και μετά float ** κ επίσης βάλε exit(1)
Logged
ripper_george
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 684


Same Shit Different Day - SSDD


View Profile
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #86 on: May 19, 2008, 02:24:22 am »

3 questions

1)
Όταν κάνουμε δέσμευση για 2χ2 πίνακα, όταν θα κάνουμε free...
Έστω έχουμε ορίσει **Α.
Κάνουμε
for (i....)
{
free(A)
}
και μετά
Free(A)
Η μπορούμε να πούμε κατευθείαν να πούμε
Free(A)
?????

2)
Επίσης, για το μέγεθος κάθε γραμμής του πίνακα, δεν θα ήταν πιο αποδοτικό
να καλούσαμε την _msize () ?????

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

3)
Τέλος, αν η realloc αποτύχει, για να κάνω Free πρέπει να έχω αποθηκεύσει τον πίνακα πριν κάνω realloc και να να κάνω αυτόν realloc η μπορώ κατευθείαν να κάνω free την realloc???? Δλδ:

F=malloc(k*sizeof());
F=realloc(F,n*sizeof());
if (F==NULL)
{
free(F);
}

.....
Είναι σωστό???
Logged

Common sense is not so common.
-Voltaire-
They say that the fastest travelling thing in the world is light, but coming to think about it... Darkness has always been there first!!!!! Smiley
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

1)Freeing up the allocated memory

We should not forget to free the memory which we have allocated dynamically, starting from the lowest level. i.e, in the reverse order of allocations. If we free up the higher level pointers first the lower level pointers would be lost and we would not be able to free up the memory allocated to those pointers. This would lead to memory leaks. Given below is how we should free up the memory. 
Code:
//freeing up memory allocated to second level pointers

     for(i = 0; i < 4; i++) 
           free(float_values[i]);
//freeing up memory allocated to first level pointers
           free(float_values);
Με λίγα λόγια χρειάζεται το for

2) H _msize μπορεί να κάνει δουλειά ,αλλά δεν υπάρχει σε όλους τους compilers

3)
To έψαξα αρκετά και βρήκα τα εξής:
If realloc cannot find enough space at all, it returns a null pointer, and leaves the previous region allocated. [footnote] Therefore, you usually don't want to immediately assign the new pointer to the old variable. Instead, use a temporary pointer:
Code:
#include <stdio.h>
#include <stdlib.h>

int *newarray = (int *)realloc((void *)dynarray, 20 * sizeof(int));
if(newarray != NULL)
dynarray = newarray;
else {
fprintf(stderr, "Can't reallocate memory\n");
/* dynarray remains allocated */
}
Όμως απ'ότι κατάλαβα από τη στιγμή που εμείς χρησιμοποιούμε
if (pointer==NULL){
    printf("no memory");
    exit(1);
}
To πρόγραμμα τερματίζεται και επιστρέφουμε στο λειτ. σύστημα ,άρα απελευθερώνεται αυτόματα η μνήμη.Άρα η χρήση ενδιάμεσου pointer όπως λέει παραπάνω είναι περιττή.
 
« Last Edit: May 19, 2008, 04:15:38 am by Emfanever » Logged
tomshare3
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 518


011101000110111101101101


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

http://alexander.ee.auth.gr:8083/eTHMMY/archive%5C102%5CdownloadFile%5C3137%5CAskiseis-08%20kai%2009-05-08.zip

στο ετημμυ εχει αναλυτικο παραδειγμα για δυναμικη δεσμευση 1διαστατου κ 2διαστατου πινακα και για την χρηση της free!
Logged

..try not. Do. Or do not.
solli144
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 271



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

παιδια πρέπει οπωσδήποτε στη malloc να γίνεται typecasting? Δηλαδή  :  p=(* int)malloc(N);
Νομίζω ο Κορτέσης είχε πει ότι γίνεται αυτόματα αν η p έχει δηλωθεί  :   int *p
δηλαδή ότι ο τυπος void γίνεται αυτόματα int σε τέτοια εντολή εκχώρισης.

διορθώστε με αν κανω λάθος
Logged
Pages: 1 ... 4 5 [6] 7 8 ... 10 Go Up Print
Jump to:  

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