Title: Εργασία E 2007 Post by: TED on June 27, 2007, 10:01:42 am Εργασία D (Hμ/νία λήξης δηλώσεων: 03/07/2007) Ομάδες Για να δοθεί άδεια λειτουργίας σε έναν ραδιοφωνικό σταθμό ο σταθμός καταθέτει ένα πίνακα με τις συχνότητες που πρόκειται να χρησιμοποιήσει. Οι αιτήσεις εξετάζονται κατά προτεραιότητα σύμφωνα με το χρόνο κατάθεσής τους. Για να δοθεί άδεια για τη χρήση μιας συχνότητας δεν πρέπει να υπάρχει ανίστοιχο αίτημα από σταθμό που κατέθεσε νωρίτερα αντίστοιχη αίτηση. Να γραφεί το πρόγραμμα που να διαβάζει τον αριθμό των σταθμών που κατέθεσαν αιτήσεις, τον αριθμό των συχνοτήτων και τις συχνότητες τις οποίες ζητά να δεσμεύσει ο κάθε σταθμός. Το πρόγραμμα να σχηματίζει τον πίνακα fric σε κάθε γραμμή του οποίου να εμφανίζονται οι συχνότητες που ζητά να δεσμεύσει ο κάθε σταθμός. Στον πίνακα οι γραμμές που αντιστοιχούν στους σταθμούς εμφανίζονται με τη σειρά προτεραιότητας της αντίστοιχής αίτησης. Στο πρόγραμμα να γραφεί ακόμη η συνάρτηση void chek(…) η οποία να επεξεργάζεται τον πίνακα fric τοποθετώντας ως τιμή το 0 για εκείνες τις συχνότητες που ήδη έχουν καταληφθεί από σταθμό με μεγαλύτερη προτεραιότητα. Τέλος η συνάρτηση main να τυπώνει τον πίνακα fric αφαιρώντας τις συχνότητες με τιμή 0. Σημείωση: α) Ο πίνακας fric να εμφανίζεται ως πίνακας δύο διαστάσεων. β) Όλοι οι πίνακες που θα χρησιμοποιηθούν να δεσμεύουν την αντίστοιχη μνήμη δυναμικά γ) Η συνάρτηση chek δε διαβάζει δεδομένα και δεν τυπώνει αποτελέσματα. Εδώ, απ'ότι κατάλαβα το καινούριο στοιχείο είναι ο δυναμικός 2 διαστάσεων και με διαφορετικό αριθμό κελιών για τις γραμμές. Οπότε παίζει πολύ pointer....(και δεν τους παω γμτ...) Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 27, 2007, 10:06:05 am Ρε τι εργασία D λεει και μαλακίες.
Εργασία E δεν είναι; Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 27, 2007, 10:08:20 am Ρε παιδες ο fric πινακας τι δεδομένα δέχεται ;
Τις συχνότητες και τι άλλο; Title: 5η Εργασία-συζήτηση Post by: TED on June 27, 2007, 10:15:46 am Ναι, το D μάλλον το ξέχασε... κ έχει και ένα τυπογραφικό λάθος "Οι αιτήσεις εξετάζονται κατά προτεραιότητα σύμφωνα με το χρόνο κατάθεσής τους. Για να δοθεί άδεια για τη χρήση μιας συχνότητας δεν πρέπει να υπάρχει ανίστοιχο αίτημα από σταθμό που κατέθεσε νωρίτερα αντίστοιχη αίτηση."
ο fric λογικά περιέχει pointers που δείχνουν στους άλλους δυναμικούς που περιέχουν συχνότητες. Όπως ορίζεται ο διδιάστατος δηλαδη... Προφανώς το αναγνωριστικό του κάθε σταθμού, αφού δεν μας λέει να το διαβάσουμε θα είναι ο αριθμός που προκύπτει από την σειρά που κατέθεσαν τη δήλωσή τους; Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on June 27, 2007, 11:54:45 am Quote Εδώ, απ'ότι κατάλαβα το καινούριο στοιχείο είναι ο δυναμικός 2 διαστάσεων και με διαφορετικό αριθμό κελιών για τις γραμμές. Οπότε παίζει πολύ pointer....(και δεν τους παω γμτ...) Μην ανησυχεις δν ειναι κατι ιδιαιτερα δυσκολο. Η λογικη ειναι πως φτιαχνεις ενα μονοδιαστατο πινακα με στοιχεια pointers και μετα, στο pointer του καθε κελιου οριζεις απο ενα μονοδιαστατο πινακα με οτι μεγεθος θελεις καθε φορα ελπιζω να καταλαβες τι θελω να πω!!! πχ. εστω θελουμε δισδιαστατο με στοιχεια τυπου int Code: p=(int **)malloc(dim_1*sizeof(int*)); o dim_2 ειναι ενας πινακας οπου εχεις αποθηκευση την διασταση της καθε γραμμης Title: 5η Εργασία-συζήτηση Post by: igoutas on June 27, 2007, 15:24:04 pm Πως μπορω με scanf να εισαγω στοιχεια σε εναν δισδιαστατο πινακα που εχω ορισει δυναμικα οπου σε καθε γραμμη του πινακα περιεχεται ενας αλλος πινακας?
Title: 5η Εργασία-συζήτηση Post by: Mendoza on June 27, 2007, 16:11:51 pm έστω i η σειρά και j η στήλη
Τότε scanf(" % f ", & p [ i ] [j ] ); ή scanf(" % f ", ( p [ i] + j ) ); ή scanf(" % f ", ( * ( p + i ) + j ) ); 'ολα το ίδιο είναι,διαλέγεις κ παίρνεις! :P Title: 5η Εργασία-συζήτηση Post by: ~GiA~ on June 27, 2007, 16:51:52 pm na rwtisw ligo kati.....! tin proteraiotita omws pws na ti dilwsw? apla na ipothetw oti pliktrologoudai ta stoixeia me seira proteraiotitas h tha prepei na eisagw kai ton xrono katathesis etsi wste meta na sigrinw tous xronous kai na ta topotheta etsi dinamika mesa ston pinaka?? (vasika tin idia stigmi na kratw ton xrono kai me ta nea stoixeia pou eisagodai na ton sigrinw me ta alla??)
pws to vlepete? Title: 5η Εργασία-συζήτηση Post by: Wade on June 27, 2007, 18:21:13 pm Προσωπικά, δε νομίζω πως έχει τόσο μεγάλη σημασία η προτεραιότητα... Εγώ το πήρα να έχει προτεραιότητα ο σταθμός που εισάγεται πρώτος. Θα το αλλάξω αν αποδειχθεί το αντίθετο... ;)
Επίσης peiratina, παρακαλείσαι να μη χρησιμοποιείς greeklish γιατί δυσχεραίνουν την ανάγνωση. Αν υπάρχει κάποιο πρόβλημα στον υπολογιστή, μπορείς να χρησιμοποιήσεις το μεταφραστή http://speech.ilsp.gr/greeklish/greeklishdemo.asp :) Εκ της διαχείρισης Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 27, 2007, 18:22:54 pm +1 στον Wade
Title: 5η Εργασία-συζήτηση Post by: ~GiA~ on June 28, 2007, 01:18:26 am οκ παιδιά!!!! ευχαριστώ και συγνώμη αλλά όπως βλέπετε πρώτη φορά στέλνω!!! και έχω συνηθίσει από το msn να γράφω όπως να' ναι!!!!
Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 28, 2007, 01:22:05 am Έλα βρε σιγά, ο Wade δεν διαγράφει ποστ για τέτοια αφορμή (τις περισσότερες φορές τουλάχιστον ::) :P --αστειεύομαι!)
Πληροφοριακά, και εγώ την εργασία την έκανα με την παραδοχή που έκανε και ο Wade. Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 28, 2007, 01:40:38 am Σωστό merge.
Μπράβο στους mods :) Title: 5η Εργασία-συζήτηση Post by: Diamond on June 28, 2007, 03:19:45 am Στον πίνακα που ζητάει η δεύτερη διάσταση είναι διαφορετική για κάθε γραμμή αφού κάθε σταθμός δηλώνει διαφορετικο αριθμό συχνοτήτων. Μήπως το πλήθος των στηλών πρέπει να ειναι ο μέγιστος αριθμός των συχνοτήτων που δηλώνει η κάθε εταιρία; Δηλαδή αν η 1η εταιρία δηλώνει 5 συχνότητες η 2η εταιρία 8 συχνότητες η 3η εταιρία 4 συχνότητες ... η n-η εταιρία 1 συχνότητα, τοτε ο πίνακας δεν πρέπει να είναι n x 8; Πώς γίνεται όμως να διαβάζει τα στοιχεία του πίνακα χωρίς να έχει καθοριστεί το τελικό μέγεθός του; 8)
Title: 5η Εργασία-συζήτηση Post by: ^^DaRk_HunTeR on June 28, 2007, 05:00:50 am Στον πίνακα που ζητάει η δεύτερη διάσταση είναι διαφορετική για κάθε γραμμή αφού κάθε σταθμός δηλώνει διαφορετικο αριθμό συχνοτήτων. Μήπως το πλήθος των στηλών πρέπει να ειναι ο μέγιστος αριθμός των συχνοτήτων που δηλώνει η κάθε εταιρία; Δηλαδή αν η 1η εταιρία δηλώνει 5 συχνότητες η 2η εταιρία 8 συχνότητες η 3η εταιρία 4 συχνότητες ... η n-η εταιρία 1 συχνότητα, τοτε ο πίνακας δεν πρέπει να είναι n x 8; Πώς γίνεται όμως να διαβάζει τα στοιχεία του πίνακα χωρίς να έχει καθοριστεί το τελικό μέγεθός του; 8) this is what we call dynamic allocation φιλτατε συναδελφεTitle: 5η Εργασία-συζήτηση Post by: Wade on June 28, 2007, 06:35:18 am Στον πίνακα που ζητάει η δεύτερη διάσταση είναι διαφορετική για κάθε γραμμή αφού κάθε σταθμός δηλώνει διαφορετικο αριθμό συχνοτήτων. Μήπως το πλήθος των στηλών πρέπει να ειναι ο μέγιστος αριθμός των συχνοτήτων που δηλώνει η κάθε εταιρία; Δηλαδή αν η 1η εταιρία δηλώνει 5 συχνότητες η 2η εταιρία 8 συχνότητες η 3η εταιρία 4 συχνότητες ... η n-η εταιρία 1 συχνότητα, τοτε ο πίνακας δεν πρέπει να είναι n x 8; Πώς γίνεται όμως να διαβάζει τα στοιχεία του πίνακα χωρίς να έχει καθοριστεί το τελικό μέγεθός του; 8) Με τη δυναμική παραχώρηση μνήμης, μπορείς να κάνεις πίνακα με στήλες διαφορετικού μήκους. Στην αρχή, θα ορίσεις έναν float **pointer, στον οποίο θα δευμεύσεις δυναμικά έναν μονοδιάστατο πίνακα από pointers. Μετά, στην κάθε θέση αυτού του πίνακα, θα δεσμεύσεις έναν μονοδιάστατο πίνακα. οκ παιδιά!!!! ευχαριστώ και συγνώμη αλλά όπως βλέπετε πρώτη φορά στέλνω!!! και έχω συνηθίσει από το msn να γράφω όπως να' ναι!!!! Μην ανησυχείς, δεν υπάρχει πρόβλημα ;) Title: 5η Εργασία-συζήτηση Post by: ilovegreece on June 28, 2007, 14:28:09 pm ...Τέλος η συνάρτηση main να τυπώνει τον πίνακα fric αφαιρώντας τις συχνότητες με τιμή 0....Τι σκεφτηκατε εσεις για αυτο?Απλα να μην εμφανιζει τα κελια του πινακα με την τιμη 0 η να ταξινομουμε τις στηλες του πινακα κατα φθινουσα σειρα και με realloc σε καθε στηλη να "σβηνουμε" οσες θεσεις μνημης σε καθε στηλη οσα και τα μηδενικα της?
Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 28, 2007, 15:42:05 pm Μάλλον το δεύτερο .
Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 28, 2007, 15:43:28 pm Μήπως έχει κανένας καμία ιδέα για την υλοποίηση της check που να μην απαιτεί ταξινόμηση στοιχείων ;
Title: 5η Εργασία-συζήτηση Post by: Wade on June 28, 2007, 18:19:28 pm Εγώ δεν έκανα ταξινόμηση στοιχείων, απλώς ελέγχω κάθε στοιχείο του πίνακα με όλα τα προηγούμενα, αρχίζοντας από τον αμέσως προηγούμενο σταθμό ;)
Title: 5η Εργασία-συζήτηση Post by: ilovegreece on June 28, 2007, 20:59:19 pm ...Τέλος η συνάρτηση main να τυπώνει τον πίνακα fric αφαιρώντας τις συχνότητες με τιμή 0....Τι σκεφτηκατε εσεις για αυτο?Απλα να μην εμφανιζει τα κελια του πινακα με την τιμη 0 η να ταξινομουμε τις στηλες του πινακα κατα φθινουσα σειρα και με realloc σε καθε στηλη να "σβηνουμε" οσες θεσεις μνημης σε καθε στηλη οσα και τα μηδενικα της? Κανενας αλλος τη γνωμη του?Title: 5η Εργασία-συζήτηση Post by: Mendoza on June 28, 2007, 21:07:51 pm Eγώ απλώς έβαλα να τυπώνει όλα τα στοιχεία εκτός από το 0..λέτε να ναι λάθος?
Title: 5η Εργασία-συζήτηση Post by: Mikros_Nikolas on June 28, 2007, 21:41:01 pm Eγώ απλώς έβαλα να τυπώνει όλα τα στοιχεία εκτός από το 0..λέτε να ναι λάθος? Δεν νομίζω αλλά αν έχεις τελειώσει το πρόγραμμα έχεις πολυυυυυυύ χρόνο να χρησιμοποιήσεις και την realloc για να είσαι ίσως πιό σωστός.Εμένα το πρόβλημα είναι ότι εκεί που καλώ την chek ο compiler μου βγάζει [Warning] passing arg 2 of `chek' from incompatible pointer type Όταν λέει arg 2 of 'chek' μάλλον εννοεί το 2ο όρισμα της chek το οποίο είναι ο fric. Εκεί που καλώ την συνάρτηση έχω &fric, αφού τoν έχω ορίσει με malloc και στον ορισμό της συνάρτησης έχω βάλει *fric. Δεν ξέρω αν με πιάνετε ποιό είναι το πρόβλημα.. Title: 5η Εργασία-συζήτηση Post by: elisabeth on June 28, 2007, 22:14:42 pm καταρχην ο fric δεν είναι διδιάστατος; Αρα δεν πρέπει να δηλωθει: **fric;
Πως έχεις ορίσεις την chek? Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 28, 2007, 22:36:09 pm Εκεί που καλώ την συνάρτηση έχω &fric, αφού των έχω ορίσει με malloc και στον ορισμό της συνάρτησης έχω βάλει *fric. Aφού θες να περνάει pointer, τότε θα βάλεις pointer, δηλαδή *fric και όχι &fric. &fric δεν σημαίνει τίποτα για εσένα, είναι η διεύθυνση στην οποία αποθηκεύεται η fric της οποίας η τιμή είναι η διεύθυνση στην οποία αποθηκεύεται το δεδομένο που θες να περάσεις. Άρα η τιμή του fric είναι η διεύθυνση που ζητάς. Συνεπώς όπως είπα θα περάσεις όχι &fric αλλά *fric.Δεν ξέρω αν με πιάνεται ποιό είναι το πρόβλημα.. καταρχην ο fric δεν είναι διδιάστατος; Αρα δεν πρέπει να δηλωθει: **fric; Ναι, και εγώ έτσι το όρισα. Από ό,τι κατάλαβα εννοεί ότι θα περάσει στη chek όχι τη fric αυτή καθ'εαυτή αλλά τους αντίστοιχους pointers που έχει ως στοιχεία της.Title: 5η Εργασία-συζήτηση Post by: stelios2609 on June 28, 2007, 22:41:21 pm Παιδια ρωτησα το παλικαρι που μας κανει ασκησεις και μου ειπε οτι εννοει να αφαιρεσουμε τις τιμες απο τον πινακα δηλαδη χρηση realloc, δηλαδη οχι μονο να μην φαινονται στην εκτυπωση τα μηδενικα.
Με bubble sort μπορεις ανετα να μεταφερεις τα μηδενικα στο τελος , ομως για να μεινουν οι συχνοτητες στη θεση τους τι κανουμε?? εννοω αν εχεις τις εξης συχνοτητες πχ 5 0 0 3 0 7 με μπαμπλ σορτ(αντιστροφο) θα γινει 7 5 3 0 0 0 πως θα γινει να μεινει 5 3 7 0 0 0 εγω σκεφτηκα να ορισω δυναμικα εναν καινουργιο πινακα και να τοποθετω εκει τα στοιχεια διαφορα του μηδενος. Εχει κανεις να προτεινει καμια καλυτερη ιδεα? Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 28, 2007, 22:45:26 pm Μα δεν χρειάζεται να μείνουν τα στοιχεία στη θέση τους :)
Title: 5η Εργασία-συζήτηση Post by: stelios2609 on June 28, 2007, 22:48:43 pm Υποθετικα το λεω. Εστω οτι οποιος υποβαλλει συχνοτητες το κανει ιεραρχικα ξεκινοντας απο τις σημανικοτερες, τοτε χρειαζεται να μεινουν στη θεση τους
Title: 5η Εργασία-συζήτηση Post by: Mikros_Nikolas on June 28, 2007, 23:11:01 pm Εκεί που καλώ την συνάρτηση έχω &fric, αφού των έχω ορίσει με malloc και στον ορισμό της συνάρτησης έχω βάλει *fric. Aφού θες να περνάει pointer, τότε θα βάλεις pointer, δηλαδή *fric και όχι &fric. &fric δεν σημαίνει τίποτα για εσένα, είναι η διεύθυνση στην οποία αποθηκεύεται η fric της οποίας η τιμή είναι η διεύθυνση στην οποία αποθηκεύεται το δεδομένο που θες να περάσεις. Άρα η τιμή του fric είναι η διεύθυνση που ζητάς. Συνεπώς όπως είπα θα περάσεις όχι &fric αλλά *fric.Δεν ξέρω αν με πιάνεται ποιό είναι το πρόβλημα.. &fric όταν την καλώ.Μετά θα κάνω printf όλα τα fric[ i ] [ j ]. Στην κλήση με αναφορά αυτό δεν κάνουμε;; :( Μπορεί και να με χτύπησε η ζέστη στο κεφάλι αλλά έτσι θυμάμαι να έκανα στην εργασία D. Title: 5η Εργασία-συζήτηση Post by: Wade on June 28, 2007, 23:26:34 pm Ναι αλλά θέλω να αλλάξω τον πίνακα που δίνω σαν όρισμα. Για αυτό δίνω τον *fric όταν ορίζω την chek και &fric όταν την καλώ.Μετά θα κάνω printf όλα τα fric[ i ] [ j ]. Στην κλήση με αναφορά αυτό δεν κάνουμε;; :( Μπορεί και να με χτύπησε η ζέστη στο κεφάλι αλλά έτσι θυμάμαι να έκανα στην εργασία D. Το όρισμα που θα δέχεται η συνάρτηση θα είναι ένας float** pointer (εφ' όσον βέβαια όρισες έτσι τον fric). Μέσα στη συνάρτηση θα χειρίζεσαι τα στοιχεία του fric με αριθμητική των pointers. Title: 5η Εργασία-συζήτηση Post by: elisabeth on June 29, 2007, 01:11:29 am Απο τη στιγμή που ο fric ειναι διδιαστατος είναι ενας pointer **fric.
Στον ορισμό της συναρτησης λοιπον έχεις : void chec ( ..., **f, ...); και οταν την καλείς: check ( ..., fric, ...); Ναι αλλά θέλω να αλλάξω τον πίνακα που δίνω σαν όρισμα. Για αυτό δίνω τον *fric όταν ορίζω την chek και &fric όταν την καλώ.Μετά θα κάνω printf όλα τα fric[ i ] [ j ]. Απο ότι καταλαβα θες να αποθηκεύονται οι αλλαγες στη fric όταν θα βγεις απο την chec,σωστα? Αυτο θα γίνει ουτως η αλλως αφου η fric einai pointer. Μη τα μπερδεύεις με τις απλές μεταβλητες οπου δίνεις σαν ορισμα τη διευθυνση μνημης της μεταβλητης. Title: 5η Εργασία-συζήτηση Post by: Mikros_Nikolas on June 29, 2007, 02:18:47 am Ευχαριστώ πολύ! Θα το δοκιμάσω από αύριο ::)
Title: 5η Εργασία-συζήτηση Post by: stefos on June 29, 2007, 02:26:48 am Εμενα το προγραμμα μου με πεταει εξω οταν δινω την συχνοτητα του πρωτου σταθμου...
το διαβασμα των συχνοτητων δεν ειναι κλασικο διαβασμα τιμων δισδιαστατου πινακα? με τη scanf δηλαδη... Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on June 29, 2007, 04:05:30 am Εμενα το προγραμμα μου με πεταει εξω οταν δινω την συχνοτητα του πρωτου σταθμου... το διαβασμα των συχνοτητων δεν ειναι κλασικο διαβασμα τιμων δισδιαστατου πινακα? με τη scanf δηλαδη... Αν χρησιμοποιεις Visual Studio υπαρχει ενα bug (runtime error κατι για floating point σου βγαζει) οταν χρησιμοποιεις την scanf για float αριθμους. δοκιμασε να δωσεις αρχικα μια float τιμη (πχ 0.0) στον αριθμο που θες να διαβασεις και μετα συνεχισε κανονικα το προγραμμα σου Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 29, 2007, 13:28:37 pm Τελικά η αφαίρεση των 0 στοιχείων του fric πρέπει να γίνει με χρήση realloc ή με έναν απλό έλεγχο κατα την εκτύπωση;
Title: 5η Εργασία-συζήτηση Post by: Wade on June 29, 2007, 16:41:13 pm Τελικά η αφαίρεση των 0 στοιχείων του fric πρέπει να γίνει με χρήση realloc ή με έναν απλό έλεγχο κατα την εκτύπωση; Μάλλον με realloc, αφού έτσι είπε ο καθηγητής: Παιδια ρωτησα το παλικαρι που μας κανει ασκησεις και μου ειπε οτι εννοει να αφαιρεσουμε τις τιμες απο τον πινακα δηλαδη χρηση realloc, δηλαδη οχι μονο να μην φαινονται στην εκτυπωση τα μηδενικα. Title: 5η Εργασία-συζήτηση Post by: ampoulog on June 29, 2007, 17:02:23 pm Ok thanks
Title: 5η Εργασία-συζήτηση Post by: A.B.US.E on June 29, 2007, 17:04:52 pm Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) Quote of the month : έστω i η σειρά και j η στήλη Τότε scanf(" % f ", & p [ i ] [j ] ); ή scanf(" % f ", ( p [ i] + j ) ); ή scanf(" % f ", ( * ( p + i ) + j ) ); 'ολα το ίδιο είναι,διαλέγεις κ παίρνεις! :P Best regards... Addicted to Binary USage Entertainment... "Sniffing your bits since 1952..." Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 29, 2007, 17:36:18 pm Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) Best regards... Addicted to Binary USage Entertainment... "Sniffing your bits since 1952..." ΜΗΝ κάνετε τη βλακεία και τρέξετε το άνωθι. Title: 5η Εργασία-συζήτηση Post by: Nosferatu on June 29, 2007, 17:39:23 pm Γιατι?Το ετρεξες? :P
Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 29, 2007, 17:41:14 pm Όχι βέβαια.
Η stderr που πολλάκις αναφέρεται μπορείς να κάνεις piping . (Κάτσε να δούμε αυτά τα hex εκεί μέσα τι είναι..._ Αυτό τα λέει όλα, nice try pal. Title: 5η Εργασία-συζήτηση Post by: λήθη on June 29, 2007, 17:43:01 pm Piping shell commands?
Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 29, 2007, 17:49:02 pm Ναι μπορεί να βγάλει στην οθόνη το output ορισμένων εντολών κονσόλας.
Σε windows πάντως δεν έχουμε πρόβλημα :) Title: 5η Εργασία-συζήτηση Post by: anonymous-root on June 29, 2007, 17:52:12 pm Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) Quote of the month : έστω i η σειρά και j η στήλη Τότε scanf(" % f ", & p [ i ] [j ] ); ή scanf(" % f ", ( p [ i] + j ) ); ή scanf(" % f ", ( * ( p + i ) + j ) ); 'ολα το ίδιο είναι,διαλέγεις κ παίρνεις! :P Best regards... Addicted to Binary USage Entertainment... "Sniffing your bits since 1952..." Τίποτα δεν κάνει. Να το κόψουμε ως άσχετο; Title: 5η Εργασία-συζήτηση Post by: hk on June 29, 2007, 18:20:58 pm Orea as ta paroume ena ena giati den ksero apo pou na arxiso...
As ksekiniso apo tin epidiksiomania tou filou mas A.B.U.SE, odos einai 'nice try' kai gia tin akrivia einai para poli astio. To allo gia to opio tha ithela na miliso einai o tropos me ton opio oloi pesane me ta moutra kai milane gia 'axrista' kai gia 'shell piping' (oh my god). Kai sas roto filoi mou... ksodepse kanis sas 5 lepta apo tin ora tou na kani compile to programma ? E lipon meta apo ligi prosoxi tha dite oti auto einai odos i ergasia. To epomeno pou thelo na toniso einai o aparadektos tropos me ton opio orismenoi pou exoun kapia X Y Z privieleges sto forum milane gia kopsimo kai rapsimo pano se replies apo tritous. Oute emena mou arese i epidiktikotita tou tipou alla auto de simeni oti prepi na ton kopsoume. Telos, to stderr den exi kamia sxesi me kanena shell, check stdio.h. 'File' A.B.US.E (se quotes giati den exo filous), tha se simvouleva na pas na pieis mia amfetamini mpas kai valis mialo... Regards ./hk Title: 5η Εργασία-συζήτηση Post by: Karaμazoβ on June 29, 2007, 18:25:02 pm Φίλε hk
Παρακαλείσαι να μη χρησιμοποιείς greeklish εάν δεν συντρέχει σοβαρός λόγος (π.χ. πρόβλημα με τον υπολογιστή σου) γιατί τα μηνύματά σου γίνονται δυσανάγνωστα από τα υπόλοιπα μέλη της Κοινότητας. Να σε ενημερώσουμε ότι αν θέλεις να δημοσιεύσεις ένα μεγάλο κείμενο μπορείς να χρησιμοποιήσεις το παρακάτω site για την αυτόματη μετατροπή greeklish σε ελληνικά: http://speech.ilsp.gr/greeklish/greeklishdemo.asp Ευχαριστούμε Εκ της Διαχείρισης Title: 5η Εργασία-συζήτηση Post by: anonymous-root on June 29, 2007, 18:26:53 pm Αν θέλαμε να κάνουμε επίδειξη εξουσίας φίλε hk το ποστ του ABUSE θα είχε φύγει.
Επειδή δεν ήμουνα σίγουρος 100% τι κάνει το πρόγραμμα που πόσταρε ο ABUSE για αυτό μίλησα για κόψιμο. Τώρα που ξέρω τι κάνει δεν κάνω συζήτηση για κόψιμο. Και επίσης: Φίλε hk Παρακαλείσαι να μη χρησιμοποιείς greeklish εάν δεν συντρέχει σοβαρός λόγος (π.χ. πρόβλημα με τον υπολογιστή σου) γιατί τα μηνύματά σου γίνονται δυσανάγνωστα από τα υπόλοιπα μέλη της Κοινότητας. Να σε ενημερώσουμε ότι αν θέλεις να δημοσιεύσεις ένα μεγάλο κείμενο μπορείς να χρησιμοποιήσεις το παρακάτω site για την αυτόματη μετατροπή greeklish σε ελληνικά: http://speech.ilsp.gr/greeklish/greeklishdemo.asp Ευχαριστούμε Εκ της Διαχείρισης Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 29, 2007, 18:30:07 pm Το stderr μπορεί να χρησιμοποιηθεί για piping, και έχει σχέση με shell commands αλλά μέσα στο fprintf απλά κάτι σαν έξοδο σε ένα stream κάνει hehe :P
Βασικά απλά το είδα και σαν πρώτη αντίδραση εφύστησα την πρόσοχη. Χεχε θα κάνω λοιπον μια προσπάθεια να γίνει γηινος ο χαοτικός κώδικας... Compiler στο κεφάλι μου δεν έχω, oute hex decoder. Αλλά δε θα έτρεχα κάτι τέτοιο πριν απλά πριν δω τι κάνει. Title: 5η Εργασία-συζήτηση Post by: Wade on June 29, 2007, 18:53:57 pm Μετά από μια μικρή αποκρυπτογράφηση του εν λόγω κώδικα με τη βοήθεια του EditPlus, τον έφερα σε μια ελαφρώς πιο κατανοητή μορφή (αν και ακόμα δεν τον καταλαβαίνω πλήρως). Κι εμένα μου φαίνεται πως είναι η 5η εργασία ;)
Title: 5η Εργασία-συζήτηση Post by: SolidSNK on June 29, 2007, 19:15:38 pm Και... ωχ είναι όντως η άσκηση έλεος...
Δεν ήταν ανάγκη να αναστατωθώ τελικά :) Title: 5η Εργασία-συζήτηση Post by: sminias_hlektromhxanikos on June 29, 2007, 19:59:39 pm Άσχετο: τώρα είδα πως τα αρχεία πρέπει να είναι αρχεία κειμένου με κατάληξη .c. Τι ακριβώς θέλει να πεί ο ποιητής;;;;;
Εγώ τα κάνω upload σαν c source file...την πάτησα;;;; Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 29, 2007, 20:40:53 pm Το όρισμα που θα δέχεται η συνάρτηση θα είναι ένας float** pointer (εφ' όσον βέβαια όρισες έτσι τον fric). Μέσα στη συνάρτηση θα χειρίζεσαι τα στοιχεία του fric με αριθμητική των pointers. Από ό,τι κατάλαβα όμως ο Nikolas δεν θέλει να περάσει double pointer αλλά απλά έναν pointer (μάλλον κάνει την άσκηση με διαφορετικό τρόπο). Συνεπώς θα πρέπει να βάλει *Βέβαια αν περάσει κατευθείαν τον double pointer είναι καλύτερα και σωστότερος τρόπος. Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 29, 2007, 20:43:37 pm Άσχετο: τώρα είδα πως τα αρχεία πρέπει να είναι αρχεία κειμένου με κατάληξη .c. Τι ακριβώς θέλει να πεί ο ποιητής;;;;; Όταν αποθηκεύεις το αρχείο στο σκληρό, σώζεται ως .c ή .cpp αναλόγως αν έχεις περιβάλλον c ή c++. Αυτό το αρχείο θέλει. Και αυτό το αρχείο είναι c source file, επομένως το ίδια πράγμα λέμε ;)Εγώ τα κάνω upload σαν c source file...την πάτησα;;;; Title: 5η Εργασία-συζήτηση Post by: Wade on June 29, 2007, 20:47:54 pm Καλύτερα όμως να τα ανεβάζεις σε .c από όσο ξέρω...
Title: 5η Εργασία-συζήτηση Post by: Wanderer on June 29, 2007, 20:50:13 pm Έχω την εντύπωση ότι μας είπε πως δέχεται είτε .c είτε .cpp Ε δεν νομίζω να απορρίψει εργασία που θα δει να έχει κατάληψη .cpp θα ήταν υπερβολή
υ.γ.αυτό που έχεις στην υπογραφή σου γρίφος είναι; :) Title: 5η Εργασία-συζήτηση Post by: elisabeth on June 29, 2007, 20:56:04 pm Έχω την εντύπωση ότι μας είπε πως δέχεται είτε .c είτε .cpp Ε δεν νομίζω να απορρίψει εργασία που θα δει να έχει κατάληψη .cpp θα ήταν υπερβολή Η κατάληψη ειναι βαθια χαραγμενη στο μυαλο σου φαίνεται!υ.γ.αυτό που έχεις στην υπογραφή σου γρίφος είναι; :) Δεχεται και cpp.Εγω ετσι την ειχα κανει και no problem Title: 5η Εργασία-συζήτηση Post by: TED on July 02, 2007, 15:23:43 pm Τί έγινε ρε πάιδιά, όλοι την κάνατε την εργασία;;; Γιατί νέκρωσε το topic?? Να κάνω εγω, λοιπόν, μία ερώτηση:
Γιατί δε δουλεύει αυτή η ευλογημένη η realloc????? Μου επιστρεύει τιμή 0, ενώ το νέο size είναι μικρότερο από το παλιό. η εντολή που δίνω είναι η: fric[ i]=realloc((void*)fric[ i],size*sizeof(float)); Το fric είναι διπλός pointer, οπότε το fric[ i] είναι pointer. Η μεταβλητή size είναι μεταβλητή integer που περιέχει το νέο μέγεθος της κάθε γραμμής. Γιατί επιστρέφει 0??? Title: 5η Εργασία-συζήτηση Post by: Wanderer on July 02, 2007, 15:47:10 pm Έχω την εντύπωση ότι μας είπε πως δέχεται είτε .c είτε .cpp Ε δεν νομίζω να απορρίψει εργασία που θα δει να έχει κατάληψη .cpp θα ήταν υπερβολή Η κατάληψη ειναι βαθια χαραγμενη στο μυαλο σου φαίνεται!υ.γ.αυτό που έχεις στην υπογραφή σου γρίφος είναι; :) Δεχεται και cpp.Εγω ετσι την ειχα κανει και no problem ... Ted, κατ'αρχάς έχω την εντύπωση ότι δεν χρειάζεται να το εξισώσεις με τη Code: fric[i] Μπορείς να γράψεις σκέτο Code: realloc(fric[i],size*sizeof(float)); Επίσης, νομίζω ότι ούτε χρειάζεται να κάνεις type casting μέσα στο όρισμα. Τέλος... μήπως η size είναι pointer; ^shifty^ διότι τότε πρέπει να γράψεις (*size)*sizeof(float) Title: 5η Εργασία-συζήτηση Post by: Wanderer on July 02, 2007, 15:48:11 pm A, αν γίνεται πρώτα δοκίμασε να γράψεις τη realloc σκέτη χωρίς να την εξισώσεις με το fric, και πες αν δούλεψε.
Title: 5η Εργασία-συζήτηση Post by: Mikros_Nikolas on July 02, 2007, 16:22:07 pm Τί έγινε ρε πάιδιά, όλοι την κάνατε την εργασία;;; Γιατί νέκρωσε το topic?? Να κάνω εγω, λοιπόν, μία ερώτηση: Νομίζω ότι έχουμε κάνει οι περισσότεροι την εργασία χωρίς την realloc οπότε κανείς δεν μιλάει για αυτήν ώστε να έχουμε ήσυχη την συνείδησή μας."Μα κανείς άλλος δεν είπε ότι χρησιμοποίησε realloc, γιατί να την χρησιμοποιήσω εγώ;"Γιατί δε δουλεύει αυτή η ευλογημένη η realloc????? Μας έβγαλες από αυτόν τον γλυκό λήθαργο.. :( :P Title: 5η Εργασία-συζήτηση Post by: asxetos on July 02, 2007, 17:20:48 pm παιδια μηπως θα μπορουσε κανεις να ποσταρει ή να μου στειλει με pm την εργασια D για να την εχω ολοκληρωμενη κ για να δω πως χρησιμοποιειται η δυναμικη δεσμευση μνημης με malloc k realloc...??????
thanks... Title: 5η Εργασία-συζήτηση Post by: TED on July 02, 2007, 17:26:40 pm δε δουλεύει... :(
Title: 5η Εργασία-συζήτηση Post by: MoYrMoYr on July 02, 2007, 18:35:07 pm Και εγώ από την αρχή ειχα ορίσει απλά να μην μου εμφανίζει όσα στοιχεία είναι 0.Όμως πως ακριβώς 8α χρησιμοποιήσουμε την realloc σε αυτό το πρόβλημα? :o
Title: 5η Εργασία-συζήτηση Post by: Mikros_Nikolas on July 02, 2007, 18:55:22 pm Νομίζω πως εύκολα μπορεί κανείς να ορίσει τα νέα μεγέθη με realloc αλλά το περίπλοκο για μένα είναι να πας τα μηδενικά έξω από αυτήν την νέα δεσμευμένη μνήμη. Δηλαδή έχουμε π.χ. την σειρά ενός σταθμού μετά την chek
1 0 5 0 7 0 3 0 4 με μήκος 9. Αν ορίσουμε το καινούργιο μέγεθος ίσο με 5, τότε δεν θα έχουμε 1 0 5 0 7 ; Άρα πρέπει κάπως να μεταφέρουμε πριν την realloc τα μηδενικά τέρμα δεξιά έτσι ώστε να μείνουν εκτός του νέου μεγέθους. Αυτό το ψιλοδοκίμασα αλλά μου φαίνεται πολύ πολύπλοκο και νομίζω πως δεν αξίζει.. Title: 5η Εργασία-συζήτηση Post by: mysterious on July 02, 2007, 18:59:48 pm Άρα πρέπει κάπως να μεταφέρουμε πριν την realloc τα μηδενικά τέρμα δεξιά έτσι ώστε να μείνουν εκτός του νέου μεγέθους. Αυτό το ψιλοδοκίμασα αλλά μου φαίνεται πολύ πολύπλοκο και νομίζω πως δεν αξίζει.. Ταξινόμηση.. Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on July 02, 2007, 19:03:14 pm Η ταξινομηση και η realloc θα γινουν στη chek ή στη main???
Title: 5η Εργασία-συζήτηση Post by: TED on July 02, 2007, 19:09:32 pm Code: for (i=0;i<sta8moi;i++) Αλλά με τη realloc? Η ταξινομηση και η realloc θα γινουν στη chek ή στη main??? στη main λογικά Title: 5η Εργασία-συζήτηση Post by: Mendoza on July 02, 2007, 19:16:00 pm K μia λιγο άκυρη ερώτηση..μπορούμε να δηλώσουμε μεταβλητή στο εσωτερικό της check π.χ. int i,μη τα βάζω όλα απ τις παραμέτρους..
Title: 5η Εργασία-συζήτηση Post by: mysterious on July 02, 2007, 19:16:53 pm for(i=1;i<ns;i++){ c=0; for(j=0;j<nf [ i ];j++){ if(fric[ i ][ j ]==0) c++; } nf [ i ]=nf [ i ]-c; fric [ i ]=(float*) realloc(fric[ i ],nf[ i] *sizeof(float)); } ns=αριθμός σταθμών nf=αριθμός συχνοτήτων καθε σταθμού K μia λιγο άκυρη ερώτηση..μπορούμε να δηλώσουμε μεταβλητή στο εσωτερικό της check π.χ. int i,μη τα βάζω όλα απ τις παραμέτρους.. Ναι ρε συ εννοείταιTitle: 5η Εργασία-συζήτηση Post by: mysterious on July 02, 2007, 19:25:38 pm Να ρωτήσω κι εγώ κάτι:
Επειδή την έχω ανεβάσει ήδη την εργασία, αν την ξανανεβάσω με κάποιες μικροαλλαγές που θέλω να κάνω θα γίνει overwrite στην προηγούμενη και όλα ΟΚ ή θα ανέβει σαν δεύτερη και θα μου την κόψει....την εργασία! Title: 5η Εργασία-συζήτηση Post by: λήθη on July 02, 2007, 19:57:07 pm θα ανεβει σα δευτερη
ξεκολληστε Title: 5η Εργασία-συζήτηση Post by: ampoulog on July 02, 2007, 20:21:02 pm Να ρωτήσω κι εγώ κάτι: Νομίζω ότι θα γίνει overwrite.Επειδή την έχω ανεβάσει ήδη την εργασία, αν την ξανανεβάσω με κάποιες μικροαλλαγές που θέλω να κάνω θα γίνει overwrite στην προηγούμενη και όλα ΟΚ ή θα ανέβει σαν δεύτερη και θα μου την κόψει....την εργασία! Πάντως ο Κορτέσης είχε πει ότι υπάρχει η δυνατότητα σε περίπτωση λάθους να ξανα ανεβάσουμε καινούρια εργασία , αρκεί αυτό να μην γίνει πολλές φορές. Title: 5η Εργασία-συζήτηση Post by: ampoulog on July 02, 2007, 20:29:17 pm Η ταξινομηση και η realloc θα γινουν στη chek ή στη main??? Εγώ πάντως τις έκανα στην main , αλλά φαντάζομαι δε θα υπάρχει πρόβλημα να γίνουν και μέσα στην check.for(i=1;i<ns;i++){ c=0; for(j=0;j<nf [ i ];j++){ if(fric[ i ][ j ]==0) c++; } nf [ i ]=nf [ i ]-c; fric [ i ]=(float*) realloc(fric[ i ],nf[ i] *sizeof(float)); } ns=αριθμός σταθμών nf=αριθμός συχνοτήτων καθε σταθμού K μia λιγο άκυρη ερώτηση..μπορούμε να δηλώσουμε μεταβλητή στο εσωτερικό της check π.χ. int i,μη τα βάζω όλα απ τις παραμέτρους.. Ναι ρε συ εννοείταιCode: for (i=0;i<sta8moi;i++) Αλλά με τη realloc? Η ταξινομηση και η realloc θα γινουν στη chek ή στη main??? στη main λογικά Και αν το καλοσκεφτούμε ουσιαστικά στο σημείο που θα την χρησιμοποιήσουμε (λίγο πριν thn free) δεν κερδίζουμε και πολλά πράγματα -ίσα-ισα- μάλιστα στην ουσία αυξάνουμε την πολυπλοκότητα ως προς τις επαναλήψεις του προγράμματος πράγμα χρονικά ασύμφορο , η δε μνήμη που χρησιμοποιούμε (και που θα <<γλιτώσουμε >>) από την χρήση της realloc() δεν είναι και κανένα σημαντικό ποσοστό στη μνήμη. Το μόνο που θα μπορούσε να πει κάποιος ότι κερδίζουμε είναι επιπλέον γνώσεις για την δυναμική δέσμευση-ή καλύτερα αποδέσμευση- μνήμης. Title: 5η Εργασία-συζήτηση Post by: Christy on July 03, 2007, 00:23:58 am Στην check αυτο που κανουμε ειναι να βαζουμε 0 αν η συχνότητα εχει ήδη δεσμευτει....
Δηλαδή αν ο πρώτος σε προταιρεότητα καταθέσει ολους σταθμούς θα βαλουμε 0 σε ολους τουσ αλλους?? Ας μου εξηγήσει λίγο κάποιος πώς ακριβώς θα λειτουργήσει!!! thnx!!! ;D Title: 5η Εργασία-συζήτηση Post by: TED on July 03, 2007, 00:34:20 am νομίζω όπως τα λές είναι. Εγώ τουλάχιστον έτσι τα έκανα.
Τελικά την ξεφορτώθηκα την realloc!! :) Title: 5η Εργασία-συζήτηση Post by: gdourbo on July 03, 2007, 00:43:21 am fric=(float*)realloc(fric,(dia-sum)*sizeof(float));
Title: 5η Εργασία-συζήτηση Post by: TED on July 03, 2007, 02:33:05 am fric=(float*)realloc(fric,(dia-sum)*sizeof(float)); Σου δουλεύει αυτό; + φαντάζομαι μετα το fric Βάζεις [i ]... Title: 5η Εργασία-συζήτηση Post by: ^^DaRk_HunTeR on July 03, 2007, 03:30:27 am Code: fric=(float **)malloc(n*sizeof(float *)); Title: 5η Εργασία-συζήτηση Post by: ampoulog on July 03, 2007, 10:57:19 am Ναι σωστο φαίνεται. ;)
Title: 5η Εργασία-συζήτηση Post by: TED on July 03, 2007, 11:15:34 am Αυτό σωστό είναι. Η realloc όμως???
Title: 5η Εργασία-συζήτηση Post by: Christy on July 03, 2007, 11:24:46 am ^beg^ ^beg^ ^beg^
ας μου απαντησει και μενα το καημένο καποιος και να μου εξηγησει τι ακριβως παιζει με την συνάρτηση check.... Δηλ αν ο πρώτος καταθέσει ολες τις συχνοτητες σε ολους τους αλλους θα μπει 0?????????? :'( :'( Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on July 03, 2007, 12:33:40 pm Αυτό σωστό είναι. Η realloc όμως??? Code: fric[i]=(float*)realloc(fric[i],count[i]*sizeof(float)); Στο Visual Studio δουλευει μια χαρα ^beg^ ^beg^ ^beg^ ας μου απαντησει και μενα το καημένο καποιος και να μου εξηγησει τι ακριβως παιζει με την συνάρτηση check.... Δηλ αν ο πρώτος καταθέσει ολες τις συχνοτητες σε ολους τους αλλους θα μπει 0?????????? :'( :'( ΝΑΙ Αλλα δεν εχει νοημα να καταθεσει ενας σταθμος ολες τις συχνοτητες, εξαλλου οι συχνοτητες ειναι απειρες. Title: 5η Εργασία-συζήτηση Post by: Wade on July 03, 2007, 14:02:52 pm ^beg^ ^beg^ ^beg^ ας μου απαντησει και μενα το καημένο καποιος και να μου εξηγησει τι ακριβως παιζει με την συνάρτηση check.... Δηλ αν ο πρώτος καταθέσει ολες τις συχνοτητες σε ολους τους αλλους θα μπει 0?????????? :'( :'( Πράγματι, οι συχνότητες είναι άπειρες, άρα αυτό που λες είναι μάλλον αδύνατο να γίνει. Για πραγματικά δεδομένα όμως, αν όλες οι συχνότητες που ζητάει ένας σταθμός είναι ήδη κατειλημμένες, τότε δε θα πάρει καμία συχνότητα, δηλαδή θα έχουν όλες οι θέσεις του πίνακά της 0. Title: 5η Εργασία-συζήτηση Post by: Wanderer on July 03, 2007, 14:04:55 pm TED τελικά δεν έχει πρόβλημα να χρησιμοποιήσεις την ρεαλλοκ όπως την είχες κάνει, αντιθέτως είναι ο σωστός τρόπος. Τώρα γιατί σου βγάζει μηδέν....τί να πω.
Title: 5η Εργασία-συζήτηση Post by: skantzo on July 03, 2007, 17:09:35 pm ΑΠΟΡΙΕΣ
fric=(float **)malloc(n*sizeof(float *)); έχω απορία στο να καταλάβω ακριβώς την σύνταξη αυτή. πρώτον: στον ορισμό του μεγέθους: sizeof(float *) το (float *) ειναι ο τύπος του pointer όπως λέμε ο τύπος float? επίσης το προθεμα (float **) σημαίνει οτι θα δεσμεύσω μνήμη οπου θα αποθηκεύσω pointers που δειχνουν σε pointers? στις σημειώσεις δεν έχει πληροφορίες για αυτο το πρόθεμα. πού μπορώ να τις βρώ ? ευχαριστώ Title: 5η Εργασία-συζήτηση Post by: glour on July 03, 2007, 18:20:18 pm Αν μπορεί καποιος ας βοηθήσει....
την chek την ορίζω ετσι: void chek(float **fric,int N,int m).Μέσα στην main την καλώ :chek(fric,N,m); Μέσα στο σώμα της chek υπάρχει ένας έλεγχος if(fric[j]=fric[i-1][j]) αλλά ο compiler βγάζει warning: "passing arg 1 of `chek' from incompatible pointer type" .ο fric είναι ορισμένος float **fric ευχαριστώ! Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on July 03, 2007, 18:34:00 pm ΑΠΟΡΙΕΣ fric=(float **)malloc(n*sizeof(float *)); έχω απορία στο να καταλάβω ακριβώς την σύνταξη αυτή. πρώτον: στον ορισμό του μεγέθους: sizeof(float *) το (float *) ειναι ο τύπος του pointer όπως λέμε ο τύπος float? επίσης το προθεμα (float **) σημαίνει οτι θα δεσμεύσω μνήμη οπου θα αποθηκεύσω pointers που δειχνουν σε pointers? στις σημειώσεις δεν έχει πληροφορίες για αυτο το πρόθεμα. πού μπορώ να τις βρώ ? ευχαριστώ Σωστα τα καταλαβες Αν μπορεί καποιος ας βοηθήσει.... την chek την ορίζω ετσι: void chek(float **fric,int N,int m).Μέσα στην main την καλώ : Code: chek(fric[i],N,m[i]); Code: if(fric[i][j]=fric[i-1][j]) ΟΤΑΝ ΕΛΕΓΧΟΥΜΕ ΙΣΟΤΗΤΑ ΜΕΣΑ ΣΕ IF ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ == (διπλο =) Δλδ Code: if(fric[i][j]==fric[i-1][j]) Και την chek την καλεις Code: chek(frick,N,m) Επιπλεον ο m ειναι μονοδιαστατος πινακας οποτε το προτυπο της chek ειναι Code: void chek(float **fric,int N,int *m) Title: 5η Εργασία-συζήτηση Post by: skantzo on July 03, 2007, 18:36:42 pm tx
Title: 5η Εργασία-συζήτηση Post by: glour on July 03, 2007, 18:45:02 pm @ otiNaNAi
δίκιο έχεις δεν το πρόσεξα όταν το εγραφα στο ποστ... το πρόβλημα όμως δεν είναι αυτό για το warning που μου βγάζει Title: 5η Εργασία-συζήτηση Post by: OtiNaNAi on July 03, 2007, 18:49:26 pm @ otiNaNAi δίκιο έχεις δεν το πρόσεξα όταν το εγραφα στο ποστ... το πρόβλημα όμως δεν είναι αυτό για το warning που μου βγάζει εκανα edit το post Title: 5η Εργασία-συζήτηση Post by: ^^DaRk_HunTeR on July 04, 2007, 02:02:37 am Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) Quote of the month : έστω i η σειρά και j η στήλη Τότε scanf(" % f ", & p [ i ] [j ] ); ή scanf(" % f ", ( p [ i] + j ) ); ή scanf(" % f ", ( * ( p + i ) + j ) ); 'ολα το ίδιο είναι,διαλέγεις κ παίρνεις! :P Best regards... Addicted to Binary USage Entertainment... "Sniffing your bits since 1952..." Title: 5η Εργασία-συζήτηση Post by: A.B.US.E on July 04, 2007, 14:59:41 pm Quote We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty, and the pursuit of Happiness. ... hat whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, having its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness. The Decleration of Independence - July 4th, 1776 We decided to post two codes one that uses realloc() and one that doesn't :) The obfuscated source code came from the one which doesn't use realloc(). Both programs work :) Some Remarks : What one should do here is to create a pointer that each of its members will hold memories to other pointers. Memory is allocated linearly (using malloc()) and thus the pointers can be used as arrays. Note that after each allocation we call memset() to initialize to 0 unless we immediately initialize our data by other means. Using stderr instead of stdout allows for unbuffered output (thus we use fprintf() instead of printf()). That's an explanation cause some people got really perplexed with this.. :P Have fun and ask any questions here :) Without realloc() : Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) With realloc() : Code: /* This code Provided to you by A.B.US.E. (a.k.a. Addicted to Binary USage Entertainment) Quote Blessed is he who, in the name of charity and good will, shepherds the weak through the Valley of Darkness; for he is truly his brother's keeper, and the finder of lost children. Ezekiel 25:17 Title: 5η Εργασία-συζήτηση Post by: anonymous-root on July 04, 2007, 15:03:04 pm @ABUSE θα μπορούσες να γράφεις ελληνικά; Ευχαριστούμε. :)
@ ΠΟΙΟΣ ΣΥΓΧΩΝΕΥΣΕ ΤΑ ΘΕΜΑΤΑ ΤΩΝ ΕΡΓΑΣΙΩΝ???? Title: 5η Εργασία-συζήτηση Post by: SolidSNK on July 04, 2007, 15:46:31 pm Using stderr instead of stdout allows for unbuffered output (thus we use fprintf() instead of printf()). That's an explanation cause some people got really perplexed with this.. :P Y I already got that, u don't have to bang me in teh head...What I liked most in ur code was the 'speed hack', I knew my code there was sloppy and needed smth like that to minimize the execution time :) Where's ur frustrating 'constant-party' code now anywayz? Title: 5η Εργασία-συζήτηση Post by: ^^DaRk_HunTeR on July 04, 2007, 20:12:49 pm btw memset()"should have a prototype" is not recognized by my compilers :P neither <unistd.h>"unable to open".....borland C++ (and dev C++)
Title: 5η Εργασία-συζήτηση Post by: ^^DaRk_HunTeR on July 04, 2007, 20:21:26 pm @ABUSE θα μπορούσες να γράφεις ελληνικά; Ευχαριστούμε. :) οι mods του topic προφανως :P@ ΠΟΙΟΣ ΣΥΓΧΩΝΕΥΣΕ ΤΑ ΘΕΜΑΤΑ ΤΩΝ ΕΡΓΑΣΙΩΝ???? Title: 5η Εργασία-συζήτηση Post by: Καμένος on July 05, 2007, 18:31:27 pm What one should do here is to create a pointer that each of its members will hold memories to other pointers. Ναί.. κρατάει αναμνήσεις σε άλλους pointers.. Τι το παίζεις αμερικανάκι αφού δε τραβάει?? Title: 5η Εργασία-συζήτηση Post by: Wanderer on July 06, 2007, 19:54:54 pm Αναμνήσεις μιας ζωής...για πάντα καταχωρημένοι...μέσα στη μεταβλητή...ποτέ μή δεσμευμένη :D ;D
|