rafail1994 Δημοσ. 7 Απριλίου 2013 Μέλος Share Δημοσ. 7 Απριλίου 2013 Ωραία μια χαρά τώρα κατάλαβα τι παίζει ευχαριστώ . Δεν υπάρχει και διαφορετικός τρόπος να ορίσεις μια μεταβλητή και με μια εντολή να του "πεις" ότι δεν θέλεις να μεταβληθεί ;( νομίζω οτι υπάρχει μια εντολή αλλά δεν μπορώ να την θυμηθώ τώρα ) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
migf1 Δημοσ. 7 Απριλίου 2013 Share Δημοσ. 7 Απριλίου 2013 Παρακαλώ! Ναι, υπάρχει η const ... const int maxInput = 512+1; υπάρχουν υπέρ και κατά και για τις 2 εναλλακτικές, τα οποία ελπίζω να σας τα διευκρινίσουν αργότερα στην σχολή σου. Για παράδειγμα, στην προκειμένη περίπτωση που την MAX_INPUT την χρησιμοποιώ για να ορίσω τον πίνακα input[MAX_INPUT] (που είναι string βασικά) και τον αρχικοποιώ κιόλας, δεν μας κάνει η const. Υπάρχει επίσης και το enum. Θα τα δείτε αργότερα υποθέτω. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Star_Light Δημοσ. 7 Απριλίου 2013 Share Δημοσ. 7 Απριλίου 2013 Ακριβως. #include<stdio.h> int main(void) { const int len = 2; char a[len] = "a"; puts(arr); return 0; } http://stackoverflow.com/questions/10129410/gcc-complains-variable-sized-object-may-not-be-initialized Το παραπανω το λαμβανει υποψιν σαν VLA. Σαν εναν πινακα δηλαδη με μεταβλητο μηκος . The only way for type a to not be a VLA is for size to be an integer constant expression (§6.7.5.2). What you have there is not an integer constant expression, so you have a VLA Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 7 Απριλίου 2013 Μέλος Share Δημοσ. 7 Απριλίου 2013 Ναι αυτήν έλεγα ωραία !! .Από ότι είδα μέσα σε αυτήν την εβδομάδα θα τα κάνουμε και αυτά γιατί έχω και άλλη εργασία που χρειάζονται από ότι είδα . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 23 Απριλίου 2013 Μέλος Share Δημοσ. 23 Απριλίου 2013 Όποιος έχει όρεξη ας δώσει μια λύση (ήταν εργασία προηγουμένης εβδομάδας που δεν κατάφερα να την λύσω ολοκληρωμένα ,να δω πως λυνεται επιτελους ) Σε ένα γράφημα που αποτελείται από Ν κορυφές, οι κορυφές του αριθμούνται από το 0 έως το Ν-1. Οι κορυφές του γραφήματος συνδέονται με ακμές κάθε μια από τις οποίες έχει ένα ορισμένο βάρος. Για το γράφημα αυτό ζητείται, εκκινώντας από μια δεδομένη κορυφή, να βρεθεί ένα μονοπάτι που να περνά, τουλάχιστον μια φορά, από κάθε κορυφή του και να έχει το ελάχιστο κόστος. Ως κόστος για το μονοπάτι θεωρείται το άθροισμα των βαρών των ακμών από τις οποίες αυτό θα περάσει. Ένας αλγόριθμος που θα μπορούσε να δώσει μία καλή λύση (όχι τη βέλτιστη) ξεκινά από την κορυφή εκκίνησης επιλέγοντας ως επόμενη κορυφή αυτή με την οποία συνδέεται με την ακμή που έχει το μικρότερο βάρος. Στη συνέχεια διαγράφει την ακμή και επαναλαμβάνει την ίδια διαδικασία από την νέα κορυφή. Η διαδικασία σταματά αν το μονοπάτι περάσει από όλες τις κορυφές ή αν διαπιστωθεί ότι ο αλγόριθμος δεν μπορεί να συνεχίσει επειδή όλες οι ακμές που συνδέουν την κορυφή στην οποία έχει φτάσει το μονοπάτι έχουν διαγραφεί. Να γραφεί το πρόγραμμα που να υλοποιεί τον πιο πάνω αλγόριθμο. Στο πρόγραμμα να οριστεί ο πίνακας, δύο διαστάσεων, adj με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο adj[i][j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί η τιμή 1 αν υπάρχει ακμή που να συνδέει την κορυφή i με την κορυφή j διαφορετικά ως τιμή για το adj[i][j] να δοθεί το 0. Στο πρόγραμμα να οριστεί ακόμη και ο πίνακας, δύο διαστάσεων, weight με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο weight [i][j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί το βάρος της ακμής που συνδέει την κορυφή i με την κορυφή j στην περίπτωση που υπάρχει ακμή που να συνδέει τις δυο κορυφές. Το πρόγραμμα να διαβάζει τα απαραίτητα στοιχεία και να σχηματίζει τους πίνακες adj και weight. Στη συνέχεια να διαβάζει τον αριθμό της κορυφής εκκίνησης και εφαρμόζοντας των αλγόριθμο, να βρίσκει και να τυπώνει το μονοπάτι και το αντίστοιχο βάρος. Βοηθητικές παρατηρήσεις Για τη διαγραφή μιας ακμής από το γράφημα να δίνεται η τιμή 0 στο αντίστοιχο στοιχείο του πίνακα adj. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Star_Light Δημοσ. 23 Απριλίου 2013 Share Δημοσ. 23 Απριλίου 2013 Mια ασχετη ερωτηση rafail1994... απο τους δασκαλους σας δεν εχετε μεγαλη καθοδηγηση ε? για τις εργασιες εννοω Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 24 Απριλίου 2013 Μέλος Share Δημοσ. 24 Απριλίου 2013 Επεξηγήσεις κτλ όχι τίποτα μας δίνει απλά την άσκηση και πρέπει να την παραδώσουμε σε μια εβδομάδα τίποτα άλλο . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
jsiskos Δημοσ. 24 Απριλίου 2013 Share Δημοσ. 24 Απριλίου 2013 Djikstra κλπ έχετε κάνει; rafail σε τι σχολή είσαι αν επιτρέπεται; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
παπι Δημοσ. 24 Απριλίου 2013 Share Δημοσ. 24 Απριλίου 2013 Μονο εγω δεν μπορω να καταλαβω την εκφωνηση; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 24 Απριλίου 2013 Share Δημοσ. 24 Απριλίου 2013 Ξεκινας από μια κορυφη στην αμεσως κοντινότερη , προσθέτεις την αποσταση, τις αποσυνδεεις, και συνεχιζεις απ αυτην μετά. αν δεν έχεις γειτονικές ή αν τις επισκευτηκες όλες σταμάτα. Δεν είναι ουτε βέλτιστος , ουτε έχει λύση πάντα ( κ' ας είναι συνδεμένος ο γράφος). Αν έχω χρόνο θα γράψω το βράδυ κώδικα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 24 Απριλίου 2013 Μέλος Share Δημοσ. 24 Απριλίου 2013 Djikstra κλπ έχετε κάνει; rafail σε τι σχολή είσαι αν επιτρέπεται; Όχι δεν έχουμε κάνει .Ηλεκτρολόγος μηχανικός Μονο εγω δεν μπορω να καταλαβω την εκφωνηση; Γενικά όλες του η εκφωνήσεις είναι δυσνόητες πρέπει να φας μια ταλαίπωρα για να βγάλεις άκρη Ξεκινας από μια κορυφη στην αμεσως κοντινότερη , προσθέτεις την αποσταση, τις αποσυνδεεις, και συνεχιζεις απ αυτην μετά. αν δεν έχεις γειτονικές ή αν τις επισκευτηκες όλες σταμάτα. Δεν είναι ουτε βέλτιστος , ουτε έχει λύση πάντα ( κ' ας είναι συνδεμένος ο γράφος). Αν έχω χρόνο θα γράψω το βράδυ κώδικα. Ναι στην αμέσως κοντινότερη κορυφή αλλά η ακμή του να έχει το μικρότερο βάρος .! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 24 Απριλίου 2013 Share Δημοσ. 24 Απριλίου 2013 κοντινοτερη=μικροτερο βαρος (εκτος απο μηδεν, δλδ δεν συνδεονται) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 25 Απριλίου 2013 Share Δημοσ. 25 Απριλίου 2013 (επεξεργασμένο) Έφτιαξα ενα πινάκα dist[NxN] με τιμή του dist[i,j] το βάρος της ακμής που συνδέει τις κορυφες i και j , αν δεν συνδέονται αμεσα τότε ειναι 0. Ο πίνακας πρέπει να είναι συμμετρικός αφού dist[i,j]=dist[j,i] , επίσης dist[i,i]=0. Σε κάθε επίσκεψη απο i σε j κόβω τη σύνδεση i---j. ( dist[i,j]=dist[j,i]=0;) όπως το ζητάει η άσκηση για να μην μπορώ να πάω ξανα πίσω. Ολο αυτό μέχρι να επισκεφτώ όλες ή μείνω σε κάποια κορυφή χωρίς γειτονες To έκανα σε C# και αντί για 2 πινακες (adj και weight) ένα dist και ένα μονοδιάστατο με τις κορυφές που επισκέφτηκα. int N = 4; int[,] dist = new int[4, 4] // prepei dist[i,j]=dist[j,i] { {0,1,2,4}, {1,0,2,3}, {2,2,0,3}, {4,3,3,0}, }; int k = 0; int sumDist = 0; bool[] visited = new bool[N]; int v = 1; visited[0] = true; while(v < N) { int minDist = 1000000000; int closestIndex = -1; for(int i = 0; i < N; i++) { if(k == i || dist[k, i] == 0) continue; else if(dist[k, i] < minDist) { closestIndex = i; minDist = dist[k, i]; } } if(closestIndex > -1) { dist[k, closestIndex] = dist[closestIndex, k] = 0; //kopse tis syndeseis sumDist += minDist ; k = closestIndex; if(!visited[closestIndex]) v++; visited[closestIndex] = true; } else // apokomenh koryfi { Console.WriteLine("error"); break; } } Console.WriteLine(sumDist); Επεξ/σία 25 Απριλίου 2013 από albNik Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 25 Απριλίου 2013 Μέλος Share Δημοσ. 25 Απριλίου 2013 Ωραία ευχαριστώ albNik τώρα κατάλαβα τι παίζει ...τα έκανα λίγο όπως να είναι ελπίζω να μην μου την κόψει εντελώς. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 28 Απριλίου 2013 Μέλος Share Δημοσ. 28 Απριλίου 2013 Έχω έναν δισδιάστατο πίνακα π.χ A[5][5] και θέλω να γεμίσω αυτόν τον πίνακα με τυχαίους αριθμούς αλλά αυτοί οι τυχαίοι αριθμοί να βρίσκονται σε ένα διάστημα π.χ (10,90) πως θα γίνει ; Με αυτόν τον τρόπο γεμίζω τυχαίους αριθμούς αλλά όχι σε κάποιο διάστημα #include <stdio.h> #include <stdlib.h> #define N 5 int main() { int i,j,A[N][N]; for(i=0; i<N; i++) { for(j=0; j<N; j++) { A[i][j]=rand(); } } for(i=0; i<N; i++) { for(j=0; j<N; j++) { printf("%d\n",A[i][j]); } } system("PAUSE"); return 0; } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα