|
>¤¬¤ó¤Ð¤Ã¤Æ²òÀϤ·¤Æ¤ß¤Þ¤·¤¿¡£
²òÀϤªÈè¤ì¤µ¤Þ¤Ç¤·¤¿¡£
ÆÉ¤ó¤Ç¤ß¤¿·ë²Ì¡¢¥¯¥é¥¹¿Í¿ô¤¬ÊѤï¤ë¤È¿§¡¹¤ÈÊѹ¹¤¬É¬Íפ½¤¦¤Ê¤Î¤ÇÁ´ÈÌŪ¤Ë½ñ¤Ä¾¤·¤Æ¸«¤Þ¤·¤¿¡£
°ÛÍͤ˥ͥ¹¥È¤¬¿¼¤¯¤Ê¤Ã¤¿¤Î¤ÇÆÉ¤ß¤Å¤é¤¤¤«¤È»×¤¤¤Þ¤¹¤¬²¿¤È¤«ÆÉ¤ó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£
£±¡¥Âè1´õ˾¤Î¿Í¿ô¤ò¥«¥¦¥ó¥È
£²¡¥Âè1¤òÁª¤ó¤À¿Í¤¬¥¯¥é¥¹ÍÆḬ̂ʲ¼¤Ê¤é·èÄꡢͤ¨¤Æ¤¿¤é¥é¥ó¥À¥à¤ÇÁª¤Ó½Ð¤·
£³¡¥¥¯¥é¥¹¤¹¤Ù¤Æ1,2¤ò·«¤êÊÖ¤¹
£´¡¥Âè2´õ˾¤Î¿Í¿ô¥«¥¦¥ó¥È
£µ¡¥¥¯¥é¥¹ÍÆÎ̤¬Í¾¤Ã¤Æ¤¿¤éÂè2´õ˾¤Î¿Í¤ÎÃæ¤«¤éÁª¤Ó½Ð¤·¡£
£¶¡¥¤³¤ì¤òÂèn´õ˾¤Þ¤Ç·«¤êÊÖ¤·
¤Á¤Ê¤ß¤Ë¥¯¥é¥¹¤Î¿Í¿ô¤ÏGAKU/CLASS¤Ç½Ð¤·¤Æ¤Þ¤¹¡£
;¤ê¤¬½Ð¤¿¤é¤É¤¦¤¹¤ë¤ó¤À¤È¤«¹Í¤¨¤Æ¤Þ¤»¤ó¤Î¤Ç¡Á¡£
#include <stdio.h>
#include <stdlib.h>
#define CLASS 3
#define GAKU 6
main(){
int choice[CLASS][GAKU];
int kettei[GAKU]={0};
int class_cnt[CLASS]={0};
int i,j,k,n;
int cnt;
srand(time(NULL));
printf("´õ˾ÆþÎÏ(Âè1´õ˾¤«¤éÂè%d´õ˾¤Þ¤Ç¥¯¥é¥¹ÈÖ¹æ1-%d¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤)\n",CLASS,CLASS);
for(i = 1;i <= GAKU;i++){
printf("\n³ØÀ¸ÈÖ¹æ%d\n",i);
for(j = 1;j <= CLASS;j++){
printf("Âè%d´õ˾:",j);
scanf(" %d",&k);
choice[k-1][i-1] = j;
}
}
/*¤³¤³¤«¤é¥¯¥é¥¹·èÄê½èÍý*/
for(i = 1;i <= CLASS;i++){//Âèi´õ˾¤Î·èÄê½èÍý
for(j = 0;j < CLASS;j++){//j¥¯¥é¥¹¤Î
if(class_cnt[j] < GAKU/CLASS){
for(k = 0,cnt = 0;k < GAKU;k++){//Âèi´õ˾¼Ô¤ò¿ô¤¨¤ë
if(choice[j][k] == i) cnt++;
}
printf("class_cnt%d,cnt%d\n",class_cnt[j],cnt);
if(class_cnt[j]+cnt <= GAKU/CLASS){//(·èÄê¼Ô+´õ˾¼Ô)¤¬¥¯¥é¥¹ÍÆÎÌ°ÊÆâ¤Ê¤é·èÄê
for(k = 0;k < GAKU;k++)
if(choice[j][k] == i) kettei[k] = j+1,class_cnt[j]++;
}
else{//°ã¤¦¤Ê¤é´õ˾¼Ô¤ÎÃæ¤«¤é¥é¥ó¥À¥à¤Ç·èÄê
while(class_cnt[j] < GAKU/CLASS){
n = rand()%GAKU;
if(choice[j][n] == i && kettei[n] == 0) kettei[n] = j+1,class_cnt[j]++,choice[j][n] = 0,printf(" kita ");
}
}
}
}
for(n = 0;n < GAKU;n++){
printf("%d=%d ",n+1,kettei[n]);
}
printf("\n");
}
printf("·ë²Ì\n");
for(i = 0;i < GAKU;i++){
printf("³ØÀÒÈÖ¹æ%d¤Ï¥¯¥é¥¹%d\n",i+1,kettei[i]);
}
}
|