Gracias.
Código
/* 11) Diseñar un programa en C++ para determinar la disponibilidad de una serie de personas para reunirse algún día de un cierto mes. Para esto, el programa deberá preguntar el número de días del mes (28, 29, 20 0 31) y el número de personas que deben reunirse; con estos datos, pedirá, una a una, a cada persona cuáles son los días (de 1 al número de días del mes) que tiene disponibles y con ayuda de un único array deberá presentar en pantalla los días disponibles en que coinciden todas las personas.*/ #include <iostream> using namespace std; typedef int Tarray []; void eliminarDia (int noPuede,int dias, Tarray ar); void siPuede (Tarray ar); int main(){ Tarray ar={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}; int dias=0, personas=0, noPuede=0; do{ cout<<"Introduzca el numero de dias del mes: "; cin>>dias; }while(dias<28 or dias>31); if(dias==28){ ar[30]=0; ar[29]=0; ar[28]=0; } else if (dias==29){ ar[30]=0; ar[29]=0; } else if(dias==30){ ar[30]=0; } else; cout<<"Cuantas personas desea que se reunan?: "; cin>>personas; for(unsigned contador=1; contador<=personas; contador++){ while(noPuede!=-1){ //Para pasar a la siguiente persona cout<<"Persona "<<contador<<" ,dia que no puede reunirse: "; cin>>noPuede; eliminarDia(noPuede, dias, ar); } noPuede=0; } siPuede(ar); return 0; } void eliminarDia (int noPuede,int dias, Tarray ar){ if(noPuede!=-1){ for(unsigned i=0; i<dias; i++){ if(ar[i]==noPuede) ar[i]=0; } } } void siPuede (Tarray ar){ cout<<"Todos pueden: "<<endl; for(unsigned i=0; i<31; i++){ if(ar[i]!=0) cout<<ar[i]<<endl; } }