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

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

Δημοσ.

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

Δημοσ.
  Στις 5/11/2016 στις 5:04 ΜΜ, Kercyn είπε

Δες εδώ.

Να σου ανεβασω ολο το κωδικα που εχω γραψει θα χαθεις...αλλα αμα μπορεις να βοηθισεις να τον ανεβασω

  • 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
Δημοσ.
  Στις 5/11/2016 στις 5:52 ΜΜ, Kercyn είπε

 

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

Ξεκινάς λοιπόν με την κάθε ομάδα και προσπαθείς να βρεις ένα 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;

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

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

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

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

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

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

Σύνδεση

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

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