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

Χρηση της συναρτησης rand σε γλωσσα C


giannisxp

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

Εχω ένα πίνακα στη C οπου εχει 16 στοιχεία (ονοματα ομάδων συγκεκριμένα) και θέλω με τη χρήση της συνάρτησης rand να δημιουργήσω τις αγωνιστικες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

Γιατί να ανεβάσεις όλο τον κώδικα; Ένα ελάχιστο μέρος που δείχνει τι πρόβλημα έχεις αρκεί. Αλήθεια τι πρόβλημα έχεις;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εαν ο αριθμος ομαδων ειναι ζυγος πρεπει να δημιουργω αγωνιστικες μεταξυ τον 16 ομαδων με τη χρηση της rand. Το προβλημα μου ειναι πως δεν ξερω πως να κανω το κομματι αυτο

 

 

case 3:
        printf("\nctr = %d",ctr);
        if(ctr%2==0){
            printf("\nArithmos omadwn : %d",ctr);
            agon = (2*(ctr-1));
            printf("\nAgonistikes : %d",agon);
            printf("\n Thelis na sinexisis ??(Y/N) :");
            scanf(" %c",&elex);
            if((elex='Y')||(elex='y')){
                //εδω πρεπει να δημιουργω αγωνιστικες με τη χρηση της συναρτησης rand
            }
        }
        else
            {
                printf("\n Monos arithmos omadwn-Mi egkiros arithmos\n");
                menu();
            }
            break;
          

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μαζι με το ονομα της ομαδας θα βαλεις και εναν int ο οποιος θα εχει το αποτελεσμα της rand. Τελος σορταρεις με qsort βαση του int.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

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

Ξεκινάς λοιπόν με την κάθε ομάδα και προσπαθείς να βρεις ένα ID που ανήκει σε ομάδα με την οποία δεν έχει ξαναπαίξει. Το κάνεις αυτό για τις μισές ομάδες και τις μισές αγωνιστικές και είσαι (σχεδόν) έτοιμος.

typedef struct
{
    unsigned ID;
    char* Name;
} Team;
 
typedef struct
{
    unsigned RoundNo;
    Team* Home;
    Team* Visitor;
} RoundMatch;
 
int HaveTeamsMet(unsigned TeamA_ID, unsigned TeamB_ID);

RoundMatch** Rounds;
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

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

Ξεκινάς λοιπόν με την κάθε ομάδα και προσπαθείς να βρεις ένα ID που ανήκει σε ομάδα με την οποία δεν έχει ξαναπαίξει. Το κάνεις αυτό για τις μισές ομάδες και τις μισές αγωνιστικές και είσαι (σχεδόν) έτοιμος.

typedef struct
{
    unsigned ID;
    char* Name;
} Team;
 
typedef struct
{
    unsigned RoundNo;
    Team* Home;
    Team* Visitor;
} RoundMatch;
 
int HaveTeamsMet(unsigned TeamA_ID, unsigned TeamB_ID);

RoundMatch** Rounds;

Ευχαριστώ παρα πολυ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...