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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[Today at 17:30:47]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[Today at 17:06:37]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[Today at 13:25:49]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[Today at 09:51:26]

[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 01:40:22]

Οι μπράβοι του πρύτανη
by Διάλεξις
[Today at 01:30:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:04:15]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:59:05]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τι ακούτε αυτήν τη στιγμή...
by Giopan
[July 30, 2025, 17:07:32 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[July 29, 2025, 13:52:51 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427644
Total Topics: 31739
Online Today: 142
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 14
Guests: 105
Total: 119
Tasos Bot
sassi
chris123
vaggelisx
Sotirisbikos
Katarameno
akoil
parzival
thathas12
mike1996
Potest
AcDimitri
stefpapa21
Εμφάνιση

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

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


Overambitious doer


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

Quote from: solli144 on May 19, 2008, 14:33:04 pm
παιδια πρέπει οπωσδήποτε στη malloc να γίνεται typecasting? Δηλαδή  :  p=(* int)malloc(N);
Νομίζω ο Κορτέσης είχε πει ότι γίνεται αυτόματα αν η p έχει δηλωθεί  :   int *p
δηλαδή ότι ο τυπος void γίνεται αυτόματα int σε τέτοια εντολή εκχώρισης.

διορθώστε με αν κανω λάθος

γενικά ναι, πρέπει. Ο κομπάιλερ πετάει σφάλμα, απ' όσο ξέρω...
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
vasso
Καταστραμμένος
********
Gender: Female
Posts: 6672


Overambitious doer


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

θυμίστε μου λίγο... ανέφερε πουθενά τι τύπου θα είναι τα εισερχόμενα σήματα; δηλαδή αν τα έβαλα ιντ, πειράζει;
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
vasso
Καταστραμμένος
********
Gender: Female
Posts: 6672


Overambitious doer


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

μπάι δε γουέι, το κομμάτι με την ριαλλοκ είναι ακριβώς 3 σειρούλες κώδικα μέσα σε ένα ιφ...
Αν σας πήρε πάνω από 10 μέσατζ μι.. Smiley
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Quote from: vasso on May 19, 2008, 14:51:24 pm
θυμίστε μου λίγο... ανέφερε πουθενά τι τύπου θα είναι τα εισερχόμενα σήματα; δηλαδή αν τα έβαλα ιντ, πειράζει;
Δε νομίζω να πειράζει απλά αν έχεις int τα εισερχόμενα να είναι int και τα στοιχεία του πίνακα
« Last Edit: May 19, 2008, 18:37:35 pm by Emfanever » Logged
vasso
Καταστραμμένος
********
Gender: Female
Posts: 6672


Overambitious doer


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

Βασικά έβαλα τα σήματα των συναγερμών να είναι int και τα εισερχόμενα float, μια και οι πρώτες τιμές είναι μανίσιες ενώ οι άλλες μπορεί να έχουν μέσα θόρυβο. Άλλωστε, μόνο με int τιμές δεν έχει νόημα το e. (Βασικά βαριέμαι να αλλάξω όλες τις τιμές... )
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
fourier
Guest
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #95 on: May 19, 2008, 19:26:57 pm »

Καποιο καλο παιδι που ξερει απο realloc μπορει να εντοπισει τι λαθος υπαρχει στο πιο κατω κομματι του κωδικα και την 5η φορα που εκτελειται η realloc μου πεταει σφαλμα?

Code:
printf("Den anagnwristhke to shma\n\n");

if (q==0){
WRONG = (float *) malloc(1*sizeof(float));
WRONG[0] = input;
q = 1;
}

else {
WRONG = realloc(WRONG,q+1);
WRONG[q] = input;
q++;
}

Η q ειναι μετρητης λανθασμενων σηματων, με αρχικη τιμη μηδεν. Στο πρωτο λαθος (aka μη αναγνωρισιμο) σημα πληρουται η συνθηκη του if οποτε δημιουργειται με τη malloc δυναμικος πινακας μηκους 1, και στο μοναδικο κελι του, το 0-ικο, καταχωρειται το σημα, ενω ο μετρητης γινεται q=1. Στο δευτερο λαθος σημα, η συνθηκη δεν πληρουται αρα περναμε στο else, οπου η realloc μεγαλωνει τον πινακα κατα 1, δινει στο καινουργιο κελι την τιμη του σηματος, μετα μεγαλωνουμε το μετρητη κατα ενα και φευγουμε...

Μετα απο 5 λανθασμενα σηματα μου πεταει σφαλμα.........
« Last Edit: May 19, 2008, 19:44:40 pm by fourier » Logged
fourier
Guest
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #96 on: May 19, 2008, 19:50:45 pm »

Βασικα καλυτερα να ανεβασω ολοκληρο τον κωδικα μου:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define e 0.1

int check (float shmapoumpainei, int posaspitia, int *ka8egrammh, float **full, int *ais8hthraspoubre8hke, int *spitipoubre8hke);

int main (void) {

int i, j, k, q=0, n, m, temp1, temp2, temp3, result, id_aist, id_spiti;
float input;
float **SPITIA;
int *AISTH;
float *WRONG;

printf("\nPosa spitia eksyphretountai? ");
scanf("%d",&n);

printf("\n");

/* O MONODIASTATOS PINAKAS "AISTH" PERIEXEI TON ARI8MO TWN AIS8HTHRWN
GIA KA8E SPITI KSEXWRISTA */

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

SPITIA = (float **) malloc(n*sizeof(float *));
for (i=0;i<n;i++) {
printf("Posous ais8hthres exei to %do spiti? ",i+1);
scanf("%d",&temp1);
SPITIA[i] = (float *) malloc(temp1*sizeof(float));
AISTH[i] = temp1;
}

for (i=0;i<n;i++) {
printf("\n");
temp2 = AISTH[i];
for (j=0;j<temp2;j++) {
printf("Kwdikos %dou ais8hthra %dou spitiou: ",j+1,i+1);
scanf("%f",&SPITIA[i][j]);
}
}

printf("\nEisagete ton ari8mo twn shmatwn pou 8a elegx8oun sthn epomenh periodo: ");
scanf("%d",&m);


printf("\nENARKSH DIADIKASIAS ELEGXOU SHMATWN.\n8a elegx8oun %d shmata.\n\n",m);

for (k=0;k<m;k++) {
printf("Eisagete to %do eiserxomeno shma: ",k+1);
scanf("%f",&input);

/* KLHSH THS CHECK */


result = check(input, n, AISTH, SPITIA, &id_aist, &id_spiti);

if (result!=-1) {
printf("Anagnwristhke shma apo to spiti %d kai ton ais8hthra %d!\n\n", id_spiti+1, id_aist+1);
}
else {
printf("To shma %4.2f den anagnwristhke. q=%d\n\n",input,q+1);

if (q==0){
WRONG = (float *) malloc(1*sizeof(float));
WRONG[0] = input;
q = 1;
}

else {
WRONG = realloc(WRONG,q+1);
WRONG[q] = input;
q++;
}

}
}


printf("\nParelhf8hsan ta parakatw lan8asmena shmata:\n");
for (i=0;i<q;i++) {
printf("%4.2f - ",WRONG[i]);
}

printf("\n\n");

free(SPITIA);
free(AISTH);
free(WRONG);
SPITIA=NULL;
AISTH=NULL;
WRONG=NULL;

return 0;
}

int check (float shmapoumpainei, int posaspitia, int *ka8egrammh, float **full, int *ais8hthraspoubre8hke, int *spitipoubre8hke) {

int i1, i2, tosoiyparxoun, dokimastiko=0;
float trexonshma, apolythtimh;

for (i1=0; i1<posaspitia; i1++) {
tosoiyparxoun = ka8egrammh[i1];

for (i2=0; i2<tosoiyparxoun; i2++) {
trexonshma = full[i1][i2];
apolythtimh = fabs(trexonshma - shmapoumpainei);

if (apolythtimh < e) {
*spitipoubre8hke = i1;
*ais8hthraspoubre8hke = i2;
dokimastiko = 1;
return 0;
}
}
}

if (dokimastiko != 1) {
return -1;
}
}

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


Πολίτης


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

Έβαλα έλεγχο για NULL και φταίει αυτό. Δηλαδή δεν υπάρχει άλλος χώρος μάλλον και επιστρέφει τιμή NULL
Logged
fourier
Guest
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #98 on: May 19, 2008, 19:54:14 pm »

Quote from: Emfanever on May 19, 2008, 19:53:27 pm
Έβαλα έλεγχο για NULL και φταίει αυτό. Δηλαδή δεν υπάρχει άλλος χώρος μάλλον και επιστρέφει τιμή NULL

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


Πολίτης


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

Αλλά μπορεί από λάθος να επιστρέφει NULL. Γιατί όταν έτρεχα το πρόγραμμά σου μου έβγαζε σφάλμα λόγω NULL μετά από λίγο ,το δικό μου όμως όχι. Θα το κοιτάξω καλύτερα.
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Αυτό είναι:

   else {
         WRONG = realloc(WRONG,(q+1)*sizeof(float));
         WRONG[q] = input;
         q++;
      }
Logged
fourier
Guest
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #101 on: May 19, 2008, 20:20:02 pm »

Κατι τετοια κωλολαθη θα μας φανε στο τελος... 1000 thanx Smiley
Logged
Larry_Flynt
Καταστραμμένος
********
Gender: Male
Posts: 5403



View Profile WWW
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #102 on: May 19, 2008, 21:22:45 pm »

Στο τέλος πρέπει να κάνουμε free?
Logged

void DrawShadow()
        {
            shadow = Matrix.CreateShadow(-directionalLight0Direction, game.functions.GetPlane(ref game.player.position, 5));
            Matrix[] bones = game.heroPlayer.GetSkinTransforms();
            Matrix[] shadowBones = new Matrix[bones.Length];

            for (int i = 0; i < shadowBones.Length; i++)
            {
                shadowBones = bones * shadow;
            }

            foreach (ModelMesh mesh in game.heroModel.Meshes)
            {
                foreach (Effect effect in mesh.Effects)
                {
                    effect.CurrentTechnique = effect.Techniques["Shadow"];
effect.Parameters["Bones"].SetValue(shadowBones);  effect.Parameters["View"].SetValue(game.viewMatrix);
effect.Parameters["Projection"].SetValue(game.projectionMatrix);
                }
                mesh.Draw();
            }
           
        }
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


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

Στα πλαίσια του μαθήματος δεν είναι απαραίτητο και μάλλον δεν έχει πρακτική σημασία ,αλλά εγώ το βάζω μήπως το θέλει
Logged
vasso
Καταστραμμένος
********
Gender: Female
Posts: 6672


Overambitious doer


View Profile WWW
Re: [Δομημένος Πρ.] Εργασία Ε 2008
« Reply #104 on: May 20, 2008, 06:56:52 am »

Γιατί χρειάζεται το WRONG = realloc(WRONG,(q+1)*sizeof(float)); ???
Μήπως θα  μπορούσε να γίνει απλά
WRONG =(float *) realloc(WRONG,(q+1));

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


δεν διάβασα όλο το πρόγραμμά σου, σόρι είναι ώρα δύσκολη...
Logged

Είναι τα βλέφαρά μου
διάφανες αυλαίες.
Όταν τα ανοίγω βλέπω
μπρος μου ό,τι κι αν τύχει.
Όταν τα κλείνω βλέπω
μπρος μου ό,τι ποθώ.
Pages: 1 ... 5 6 [7] 8 9 10 Go Up Print
Jump to:  

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