/*-----------ESTE ES EL CODIGO DEL PROGRAMA----------*/#include <cstdlib>#include <iostream>#include <stdlib.h>#include <stdio.h>#include <conio2.h>using namespace std;FILE * datos;struct turnos{ char tur; char dias;};void crear(turnos x1[100][100]);int main(){ int i,k,l,m,j; turnos t[100][100]; turnos x1[100]; int conta=0,delta=0,del=0,de=0,d=0; bool ban=true; for(i=0;i<4;i++) { for(j=0;j<32;j++) { t[i][j].tur='Y'; } } for(i=0;i<4;i++) { if(i==0) { do { cout<<"ingrese ultimo turno persona 1: "; cin>>t[0][0].tur; if(t[0][0].tur=='N') { del=1; } else if(t[0][0].tur=='P') { del=1; } else if(t[0][0].tur=='C') { del=1; } else if(t[0][0].tur=='D') { del=1; } else { del=0; } } while(del==0); } else if(i==1) { do { cout<<"ingrese ultimo turno persona 2: "; cin>>t[1][0].tur; if(t[1][0].tur=='N') { del=1; } else if(t[1][0].tur=='P') { del=1; } else if(t[1][0].tur=='C') { del=1; } else if(t[1][0].tur=='D') { del=1; } else { del=0; } if((t[1][0].tur==t[0][0].tur)||(t[1][0].tur==t[2][0].tur)||(t[1][0].tur==t[3][0].tur)) { del=0; } } while(del==0); } else if(i==2) { do { cout<<"ingrese ultimo turno persona 3: "; cin>>t[2][0].tur; if(t[2][0].tur=='N') { del=1; } else if(t[2][0].tur=='P') { del=1; } else if(t[2][0].tur=='C') { del=1; } else if(t[2][0].tur=='D') { del=1; } else { del=0; } if((t[2][0].tur==t[0][0].tur)||(t[2][0].tur==t[1][0].tur)||(t[2][0].tur==t[3][0].tur)) { delta=0; } } while(del==0); } else if(i==3) { do { cout<<"ingrese ultimo turno persona 4: "; cin>>t[3][0].tur; if(t[3][0].tur=='N') { del=1; } else if(t[3][0].tur=='P') { del=1; } else if(t[3][0].tur=='C') { del; } else if(t[3][0].tur=='D') { del=1; } else { del=0; } if((t[3][0].tur==t[0][0].tur)||(t[3][0].tur==t[1][0].tur)||(t[3][0].tur==t[2][0].tur)) { del=0; } } while(del==0); } } for(j=0;j<32;j++) { if(j==1) { x1[1].dias='l'; } else if(j>1) { if(x1[j-1].dias=='l') { x1[j].dias='m'; } else if(x1[j-1].dias=='m') { x1[j].dias='w'; } else if(x1[j-1].dias=='w') { x1[j].dias='j'; } else if(x1[j-1].dias=='j') { x1[j].dias='v'; } else if(x1[j-1].dias=='v') { x1[j].dias='s'; } else if(x1[j-1].dias=='s') { x1[j].dias='d'; } else if(x1[j-1].dias=='d') { x1[j].dias='l'; } } } for(j=0;j<31;j++) { x1[j].dias; if((x1[j].dias=='s')&&(conta==0)) { conta=1; t[0][j].tur='D'; t[0][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==1)) { conta=2; t[1][j].tur='D'; t[1][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==2)) { conta=3; t[2][j].tur='D'; t[2][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==3)) { conta=4; t[3][j].tur='D'; t[3][j+1].tur='D'; } } for(i=0;i<4;i++) { srand(time(NULL)); for(j=1;j<32;j++) { if(t[i][j].tur=='Y') { if(i==0)//----------------------------------------------------------------- { do { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { t[i][j].tur='N'; } if(t[i][j-1].tur=='D') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='N'; break; case 2:t[i][j].tur='C'; break; } } } if((t[1][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else if((t[2][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else if((t[3][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else { delta=0; } } while(delta==1); } if(i==1)//--------------------------------------------------------------- { do { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; case 3:t[i][j].tur='N'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='N'; break; } } if(t[i][j-1].tur=='D') { k=1+(rand()%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; case 3:t[i][j].tur='N'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { t[i][j].tur='N'; } } if((t[2][j].tur=='D')&&(t[1][j].tur=='D')) { delta=1; } else if((t[3][j].tur=='D')&&(t[1][j].tur=='D')) { delta=1; } else { delta=0; } } while(delta==1); }//---------------------------------------------------------------------- if(i==2) { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%3); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; case 3:t[i][j].tur='D'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { t[i][j].tur='N'; } if(t[i][j-1].tur=='D') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { t[i][j].tur='N'; } } }//--------------------------------------------------------------------- if(i==3) { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='N'; break; case 3:t[i][j].tur='N'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { t[i][j].tur='N'; } if(t[i][j-1].tur=='D') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { k=1+(rand()%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } } }//--------------------------------------------------------------------- } } } clrscr(); for(j=0;j<32;j++) { if(j==31) { cout<<x1[j].dias<<"\n"; } else { cout<<x1[j].dias; } } for(i=0;i<4;i++) { for(j=0;j<32;j++) { if(j==31) { cout<< t[i][j].tur<<"\n"; } else { cout<< t[i][j].tur; } } } crear( t); system("PAUSE"); return EXIT_SUCCESS;}void crear(turnos x1[100][100]){ int j,i; datos=fopen("ensayo.txt","wt"); if(datos==NULL) { cout<<"archivo no creado"; } else { for(i=0;i<4;i++) { for(j=0;j<32;j++) {if(j!=31) { fprintf(datos,"%c",x1[i][j].tur); } else if(j==31) { fprintf(datos,"%c\n",x1[i][j].tur); } } } fclose(datos); cout<<"el archivo se cerro con exito!"; }}
ejemplofor(i=0;i<4;i++){for(j=0;j<32;j++){if(t[i][j].tur=='Y'){if(i==0){ do { .... if(t[0][J].tur==t[1][j].tur) { delta=1; } else if(t[0][J].tur==t[2][j].tur) { delta=1; } if(t[0][J].tur==t[3][j].tur) { delta=1; } else { delta=0; }}while(delta==1);}}}}
for(i=0;i<4;i++) { for(j=0;j<32;j++) { t[i][j].tur='Y'; } }
for(i=0;i<4;i++) { if(i==0) { do { cout<<"ingrese ultimo turno persona 1: "; cin>>t[0][0].tur; if(t[0][0].tur=='N') { del=1; } else if(t[0][0].tur=='P') { del=1; } else if(t[0][0].tur=='C') { del=1; } else if(t[0][0].tur=='D') { del=1; } else { del=0; } } while(del==0); } else if(i==1) { do { cout<<"ingrese ultimo turno persona 2: "; cin>>t[1][0].tur; if(t[1][0].tur=='N') { del=1; } else if(t[1][0].tur=='P') { del=1; } else if(t[1][0].tur=='C') { del=1; } else if(t[1][0].tur=='D') { del=1; } else { del=0; } if((t[1][0].tur==t[0][0].tur)||(t[1][0].tur==t[2][0].tur)||(t[1][0].tur==t[3][0].tur)) { del=0; } } while(del==0); } else if(i==2) { do { cout<<"ingrese ultimo turno persona 3: "; cin>>t[2][0].tur; if(t[2][0].tur=='N') { del=1; } else if(t[2][0].tur=='P') { del=1; } else if(t[2][0].tur=='C') { del=1; } else if(t[2][0].tur=='D') { del=1; } else { del=0; } if((t[2][0].tur==t[0][0].tur)||(t[2][0].tur==t[1][0].tur)||(t[2][0].tur==t[3][0].tur)) { delta=0; } } while(del==0); } else if(i==3) { do { cout<<"ingrese ultimo turno persona 4: "; cin>>t[3][0].tur; if(t[3][0].tur=='N') { del=1; } else if(t[3][0].tur=='P') { del=1; } else if(t[3][0].tur=='C') { del; } else if(t[3][0].tur=='D') { del=1; } else { del=0; } if((t[3][0].tur==t[0][0].tur)||(t[3][0].tur==t[1][0].tur)||(t[3][0].tur==t[2][0].tur)) { del=0; } } while(del==0); } }
for(j=0;j<32;j++) { if(j==1) { x1[1].dias='l'; } else if(j>1) { if(x1[j-1].dias=='l') { x1[j].dias='m'; } else if(x1[j-1].dias=='m') { x1[j].dias='w'; } else if(x1[j-1].dias=='w') { x1[j].dias='j'; } else if(x1[j-1].dias=='j') { x1[j].dias='v'; } else if(x1[j-1].dias=='v') { x1[j].dias='s'; } else if(x1[j-1].dias=='s') { x1[j].dias='d'; } else if(x1[j-1].dias=='d') { x1[j].dias='l'; } } }
for(j=0;j<31;j++) { x1[j].dias; if((x1[j].dias=='s')&&(conta==0)) { conta=1; t[0][j].tur='D'; t[0][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==1)) { conta=2; t[1][j].tur='D'; t[1][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==2)) { conta=3; t[2][j].tur='D'; t[2][j+1].tur='D'; } else if((x1[j].dias=='s')&&(conta==3)) { conta=4; t[3][j].tur='D'; t[3][j+1].tur='D'; } }
for(i=0;i<4;i++) { srand(time(NULL)); for(j=1;j<32;j++) { if(t[i][j].tur=='Y') {
if(i==0) { do { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { t[i][j].tur='N'; } if(t[i][j-1].tur=='D') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='N'; break; case 2:t[i][j].tur='C'; break; } } } if((t[1][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else if((t[2][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else if((t[3][j].tur=='D')&&(t[0][j].tur=='D')) { delta=1; } else { delta=0; } } while(delta==1); }
conta =0;for (i=0;i<31;i++) { if (x1[i] == 's') { t[conta][i] = 'D'; t[conta][i+1] = 'D'; conta++; }}
do{ for(i=0;i<4;i++) { srand(time(NULL)); for(j=1;j<32;j++) { if(t[i][j].tur=='Y') { if(t[i][j-1].tur=='N') { t[i][j].tur='P'; } if(t[i][j-1].tur=='P') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; } } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) { t[i][j].tur='N'; } if(t[i][j-1].tur=='D') { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { k=1+(rand()%2); switch(k) { case 1:t[i][j].tur='N'; break; case 2:t[i][j].tur='C'; break; } } }//---------------------condiciones del llenado--- if(i==0) { if(t[0][j].tur==t[1][j].tur) { delta=1; } else if((t[0][j].tur==t[2][j].tur)) { delta=1; } else if(t[0][j].tur==t[3][j].tur=='D') { delta=1; } else { delta=0; } } if(i==1) { if(t[1][j].tur==t[0][j].tur) { } else if((t[1][j].tur==t[2][j].tur)) { delta=1; } else if(t[1][j].tur==t[3][j].tur=='D') { delta=1; } else { delta=0; } } if(i==2) { if(t[2][j].tur==t[0][j].tur) { delta=1; } else if(t[2][j].tur==t[1][j].tur) { delta=1; } else if(t[2][j].tur==t[3][j].tur=='D') { delta=1; } else { delta=0; } } if(i==3) { if(t[3][j].tur==t[0][j].tur) { delta=1; } else if(t[3][j].tur==t[1][j].tur) { delta=1; } else if(t[3][j].tur==t[2][j].tur=='D') { delta=1; } else { delta=0; } } } } } } while(delta==1);
for(i=0;i<4;i++) { delta=0; srand(time(NULL)); for(j=0;j<31;j++) { if(t[i][j].tur=='Y') { do { if(t[i][j-1].tur=='N') {k=1+(rand( )%1); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='P'; break; } } if(t[i][j-1].tur=='P') { k=1+(rand( )%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; case 3:t[i][j].tur='N'; break; } } if(t[i][j-1].tur=='C') { k=1+(rand( )%3); switch(k) { case 1:t[i][j].tur='C'; break; case 2:t[i][j].tur='N'; break; case 3:t[i][j].tur='D'; break; } if((t[i][j-1].tur=='C')&&(t[i][j-2].tur=='C')) {k=1+(rand( )%2); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='N'; break; } } } if(t[i][j-1].tur=='D') { k=1+(rand( )%3); switch(k) { case 1:t[i][j].tur='D'; break; case 2:t[i][j].tur='C'; break; case 3:t[i][j].tur='N'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')) { k=1+(rand( )%3); switch(k) { case 1:t[i][j].tur='N'; break; case 2:t[i][j].tur='C'; break; case 3:t[i][j].tur='D'; break; } if((t[i][j-1].tur=='D')&&(t[i][j-2].tur=='D')&&(t[i][j-3].tur=='D')) { k=1+(rand( )%2); switch(k) { case 1:t[i][j].tur='N'; break; case 2:t[i][j].tur='C'; break; } } } }//----------------------------CONDICIONES -------- } while(delta==1); } } }
if(i==0){ if(t[0][j].tur==t[1][j].tur) { delta=1; } else if(t[0][j].tur==t[2][j].tur) { delta=1; } else if(t[0][j].tur==t[3][j].tur) { delta=1; } else { delta=0; }}else if(i==1) { if(t[1][j].tur==t[0][j].tur) { delta=1; } else if(t[1][j].tur==t[2][j].tur) { delta=1; } else if(t[1][j].tur==t[3][j].tur) { delta=1; } else { delta=0; } } else if(i==2) { if(t[2][j].tur==t[0][j].tur) { delta=1; } else if(t[2][j].tur==t[1][j].tur) { delta=1; } else if(t[2][j].tur==t[3][j].tur) { delta=1; } else { delta=0; } } else if(i==3) { if(t[3][j].tur==t[0][j].tur) { delta=1; } else if(t[3][j].tur==t[1][j].tur) { delta=1; } else if(t[3][j].tur==t[2][j].tur) { delta=1; } else { delta=0; } }