Red de conocimiento informático - Computadora portátil - Problemas de programación y programación en C

Problemas de programación y programación en C

/*

B A C C A

B A C B B

C A A C B

B C A A B

A : 7(días)

B: 7(días)

C: 6(días)

Presiona cualquier tecla para continuar

*/

#include

#include

#define N 3 //Número de personas

#define M 4 / /Número de semanas

int main() {

int ID[ N] = {0,1,2} // Número de administrador

int work; [N] [5] = {{0,1,1,1},{1,0,0,1,1},{1,1,1,1,0}};

int días[ N] = {0}; // Número de días de servicio

int list[5] // Horario de trabajo semanal

int semana,día de la semana,quién,i ,j, k,t;

for(semana = 0; semana < M; ++semana) { // Solo organiza M semanas

memset(list,0,sizeof( list)) ; // Borrar el horario de trabajo

for(weekday = 0; Weekday < 5; ++weekday) { // 5 días hábiles por semana

for(i = 0 ; i < N - 1; ++i) { // Ordenar en orden creciente de días laborables

k = i;

for(j = i + 1; j < ; N; ++j)

if(días[k] > días[j]) k = j;

if(k != i) {

t = días[k]; días[k] = días[i]; días[i] = t;

t = ID[k]; ID [i] = t; // Intercambiar números al mismo tiempo

}

}

for(who = 0; who <.N; + +who) { // Comience a programar desde la parte superior de la cola

if(work[ID[who]][weekday]) { // Mientras esta persona trabaje, programe el turno

lista[día de la semana] = ID[quién];

++días[quién];

descanso

}

}

for(weekday = 0; Weekday < 5; ++weekday) // Lista de tareas de esta semana

printf("%c ",list[weekday] + ' A');

printf("\ n");

}

for(i = 0; i < N - 1; ++i) { // Ordenar por incremento numérico

k = i;

for(j = i + 1; j < N; ++j)

if( ID[k] > ID[ j]) k = j;

if(k ! = i) {

t = días[k]; días[k] = días[i];

= ID[k]; ID[k] = ID[i]; ID[i] = t;

}

}

para(quién = 0; who < N; ++who) // recuento de días de servicio en las últimas N semanas

printf("%c :%d(days)\n",ID[who] + ' A',días[quién]);

devuelve 0;

}