for (iter it = verif2.begin(); it != verif2.end(); ++it) { if (verif2[it] == calendrier[i][g]) it = verif2.erase(it); }
verif2[it] == calendrier[i][g]
verif2(it) == calendrier[i][g]
for (iter it = verif2.begin(); it != verif2.end(); ++it) { if (verif2[it] == calendrier[i][g]) it = verif2.erase(it); }
for (iter it = verif2.begin(); it != verif2.end();) if (*it == calendrier[i][g]) it = verif2.erase(it); else ++it;
void generer_tout_ligne() { srand(int(time(0))); for (int ii = 2; ii < 15; ii++) { int nombre = 0; verif.clear(); for (int g = 0; g < 14; g++) { verif.push_back(g + 1); } for (iter it = verif.begin(); it != verif.end();){ if (*it == ii) it = verif.erase(it); else ++it; } verif2.clear(); for (unsigned int g = 0; g < verif.size(); g++) { verif2.push_back(verif[g]); } for (int i = 1; i < 14; i++) { if (calendrier[i][ii] == 0) { for (int g = 1; g < 15; g++) { for (iter it = verif2.begin(); it != verif2.end();){ if (*it == calendrier[i][g]) it = verif2.erase(it); else ++it; } } nombre = (int) (0 + ((float) rand() / RAND_MAX * (verif2.size() - 1))); calendrier[i][ii] = verif2[nombre]; for (iter it = verif.begin(); it != verif.end();){ if (*it == verif2[nombre]) it = verif.erase(it); else ++it; } } } int remplir; for (int i = 1; i < 14; i++) { remplir = calendrier[i][ii]; if (calendrier[i][remplir] == 0) calendrier[i][remplir] = ii; } } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include #include<vector> #include<string> #include<vector> #include<stdlib.h> #include <time.h> using namespace std; class Competition{ private: int nomComp; int calendrier[14][15]; vectorverif; vectorverif2; typedef std::vector::iterator iter; public: Competition(int a):nomComp(a){}; void generer_bord(){ for(int i=0; i<14; i++){ calendrier[i][0]=i;} for(int i=0; i<15; i++){ calendrier[0][i]=i;} } void intialiser_calendrier(){ for(int i=0; i<14; i++){ for(int j=0; j<15; j++){ calendrier[i][j]=0; } } } void generer_1ligne(){ srand(int(time(0))); int nombre=1; verif.clear(); verif.push_back(nombre); for(int i=1; i<14; i++){ while(existe(nombre)!=(-1)){ nombre = (int) (1 + ((float) rand() / RAND_MAX * (14 - 1 + 1))); } verif.push_back(nombre); calendrier[i][1]=nombre; } //******************************************************* int remplir; for(int i=1; i<14; i++){ remplir=calendrier[i][1]; if(calendrier[i][remplir]==0) calendrier[i][remplir]=1; } } void generer_tout_ligne() { srand(int(time(0))); for (int ii = 2; ii < 15; ii++) { int nombre = 0; verif.clear(); for (int g = 0; g < 14; g++) { verif.push_back(g + 1); } for (iter it = verif.begin(); it != verif.end();){ if (*it == ii) it = verif.erase(it); else ++it; } verif2.clear(); for (unsigned int g = 0; g < verif.size(); g++) { verif2.push_back(verif[g]); } for (int i = 1; i < 14; i++) { if (calendrier[i][ii] == 0) { for (int g = 1; g < 15; g++) { for (iter it = verif2.begin(); it != verif2.end();){ if (*it == calendrier[i][g]) it = verif2.erase(it); else ++it; } } nombre = (int) (0 + ((float) rand() / RAND_MAX * (verif2.size() - 1))); calendrier[i][ii] = verif2[nombre]; for (iter it = verif.begin(); it != verif.end();){ if (*it == verif2[nombre]) it = verif.erase(it); else ++it; } } //******************************************************** } int remplir; for (int i = 1; i < 14; i++) { remplir = calendrier[i][ii]; if (calendrier[i][remplir] == 0) calendrier[i][remplir] = ii; } } } int existe(int n){ for(unsigned int i=0;i<verif.size();i++){ if(verif[i]==n) return i; } return(-1); } int existeVer(int l, int m, int n){ for(int i=1; i<n-1; i++){ if(calendrier[m][i]==l) return i; } return(-1); } void affiche_calendrier(){ for(int i=0; i<15; i++){ cout<<""<<endl; for(int j=0; j<14; j++){ if(calendrier[j][i]<10) cout<<"| "<<calendrier[j][i]<<" |"; else cout<<"| "<<calendrier[j][i]<<" |"; } } } };
#include "Competition.h" void main() { Competition c(1); c.intialiser_calendrier(); c.generer_bord(); c.generer_1ligne(); c.generer_tout_ligne(); c.affiche_calendrier(); system("pause"); }