Προς το περιεχόμενο

κορυφές στη C


pinkbutterfly

Προτεινόμενες αναρτήσεις

Δημοσ.

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

 

Για την εισαγωγή ενός γραφήματος με Ν κορυφές, οι οποίες αριθμούνται από το 0 έως το Ν-1, ορίζεται o πίνακας graph, δύο διαστάσεων, σε κάθε γραμμή του οποίου αντιστοιχεί και μια κορυφή του γραφήματος. Κάθε γραμμή του πίνακα έχει τόσες θέσεις όσες είναι και οι κορυφές του γραφήματος που συνδέονται με την κορυφή στην οποία αντιστοιχεί η γραμμή (βαθμός της κορυφής). Στις θέσεις αυτές καταχωρούνται οι αύξοντες αριθμοί των κορυφών που συνδέονται με την κορυφή που αντιστοιχεί στη γραμμή. Για την καταχώρηση των βαρών των ακμών που συνδέουν τις κορυφές, ορίζεται o πίνακας weights, όμοιος με τον πίνακα graph, στον οποίο, σε κάθε γραμμή, αντιστοιχούμε επίσης μια κορυφή. Στον πίνακα αυτόν έχουν αντικατασταθεί οι αύξοντες αριθμοί των κορυφών που αναγράφονται στον πίνακα graph με τα βάρη των ακμών που τις συνδέουν με την κορυφή στην οποία αντιστοιχεί η γραμμή στην οποία βρίσκονται

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

Δημοσ.

Δεν είναι και τόσο δύσκολο αν το προσπαθήσεις λίγο...

 

Για την εισαγωγή ενός γραφήματος με Ν κορυφές, οι οποίες αριθμούνται από το 0 έως το Ν-1,

1) πίνακας graph, δύο διαστάσεων, σε κάθε γραμμή του οποίου αντιστοιχεί και μια κορυφή του γραφήματος.

2) Κάθε γραμμή του πίνακα έχει τόσες θέσεις όσες είναι και οι κορυφές του γραφήματος που συνδέονται με την κορυφή στην οποία αντιστοιχεί η γραμμή (βαθμός της κορυφής).

3) Για την καταχώρηση των βαρών των ακμών που συνδέουν τις κορυφές, ορίζεται o πίνακας weights, όμοιος με τον πίνακα graph, στον οποίο, σε κάθε γραμμή, αντιστοιχούμε επίσης μια κορυφή.

4) Να γραφεί το πρόγραμμα το οποίο να διαβάζει τον αριθμό των κορυφών του γραφήματος και τον βαθμό της κάθε κορυφής.

5 αλλα ουσιαστικά θα γίνει παράλληλα με τα (1),(2),(3) ) Το πρόγραμμα να δεσμεύει δυναμικά την ελάχιστη απαραίτητη μνήμη για την καταχώρηση των πινάκων που ορίζουν το γράφημα και να διαβάζει και να καταχωρεί τις αντίστοιχες τιμές στους πίνακες.

6) Στη συνέχεια το πρόγραμμα να διαβάζει με τη σειρά της κορυφές που ορίζουν μια επιθυμητή διαδρομή στο γράφημα και

7) να ελέγχει αν αυτή η διαδρομή είναι εφικτή και

8) αν ναι να τυπώνει σχετικό μήνυμα καθώς και το κόστος της διαδρομής (το άθροισμα των βαρών των ακμών που συνδέουν τις κορυφές της διαδρομής).

 

Ποιό απο τα βήματα σε δυσκολευει ακριβώς...

Δημοσ.

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

Δημοσ.

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

Τη λύση θες ε; Τι έχεις γράψει μέχρι στιγμής;

Δημοσ.

Τι ακριβώς εννοείς κορυφή ουσιαστικά για πίνακα προκειται βλέπε τα βήματα 1 και 2, Ξέρεις πως δημιουργούμε διδιάστατο πίνακα?

Δημοσ.

Τι ακριβώς εννοείς κορυφή ουσιαστικά για πίνακα προκειται βλέπε τα βήματα 1 και 2, Ξέρεις πως δημιουργούμε διδιάστατο πίνακα?

Πίνακας τι είναι; :)

Δημοσ.

άσε...ακριβώς τη λυση χρειάζομαι γιατί δεν έχω ιδέα από πίνακες!!!!

πραγματικά άμα ξερεις τη λύση θα με σώσεις!!!!!!

γενικά σου είπα έχω κολλήσει παντού!!!!

 

ναι για διαδρομή λέει.βασικά μου έχει και ένα παράδειγμα αλλά δε με βοήθησε καθόλου

 

παράδειγμα

 

 

graph weights

1 3 4 5 8 7

0 2 5 7

1 3 7 9

0 2 4 8 9 6

0 3 7 6

 

 

 

 

Η διαδρομή 0,1,2,3 είναι εφικτή και έχει κόστος 5+7+9=21.

Η διαδρομή 0,1, 2,4 δεν είναι εφικτή. (Δε συνδέονται οι κορυφές 2 και 4)

 

δυστυχώς δεν ξέρω πως δημιουργούμε διδιάστατο πίνακα για αυτό και δεν μπορώ να την κανω....

Δημοσ.

 

δυστυχώς δεν ξέρω πως δημιουργούμε διδιάστατο πίνακα για αυτό και δεν μπορώ να την κανω....

>
/* Program 6.1 from PTRTUT10.HTM   6/13/97*/

#include 
#define ROWS 5
#define COLS 10

int multi[ROWS][COLS];

int main(void)
{
   int row, col;
   for (row = 0; row < ROWS; row++)
   {
       for (col = 0; col < COLS; col++)
       {
           multi[row][col] = row*col;
       }
   }

   for (row = 0; row < ROWS; row++)
   {
       for (col = 0; col < COLS; col++)
       {
           printf("\n%d  ",multi[row][col]);
           printf("%d ",*(*(multi + row) + col));
       }
   }

   return 0;
}

Νομίζω θα σε βοηθήσει...

Δημοσ.

Μπορείς όμως να μάθεις από το link που έδωσα πριν. Δεν πρόκειται να την λύσω εγώ για σένα, αντιθέτως μπορώ να σε βοηθήσω αν έχεις πρόβλημα κάπου.

Δημοσ.

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

ελπίζω άμα χρειαστώ καμιά βοήθεια πιο μετά,καθώς θα το παλεύω, να είστε πάλι εδώ!!!!

Δημοσ.

Δηλαδή, επειδή κάπου το έχασα...

 

Σας βάλανε άσκηση με γράφους και να την υλοποιήσετε σε C χωρίς να έχετε διδαχθεί C;

 

Μάλλον αδύνατο.

 

 

Επίσης... αυτή η άσκηση είναι σε σχολή πληροφορικής;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...