席替えのプログラム
Posted: 2011年11月04日(金) 14:15
席替えのプログラムを作って先生のところへ持っていったら、
「四面楚歌(男子の周りが女子だけにならないように、又女子の周りが男子だけにならないようにすること)
のプログラムを組め。」
とか言ってきたんですよ。
クラスの人数は37で固定してあります。
本当は、どんな人数でも対応したいところですが、
技術も時間も全然たりないので作れませんでした・・・・
プロセスは配列に1~37をぶち込んで、
rand関数で得た2つの番号を入れ替えるだけの
簡単なソースです。
席は前から
6
6
6
6
6
4
3人です。計37
で、その先生に持っていったプログラムがこちら。
どうか四面楚歌対策の作り方やソースを投稿してください。
「四面楚歌(男子の周りが女子だけにならないように、又女子の周りが男子だけにならないようにすること)
のプログラムを組め。」
とか言ってきたんですよ。
クラスの人数は37で固定してあります。
本当は、どんな人数でも対応したいところですが、
技術も時間も全然たりないので作れませんでした・・・・
プロセスは配列に1~37をぶち込んで、
rand関数で得た2つの番号を入れ替えるだけの
簡単なソースです。
席は前から
6
6
6
6
6
4
3人です。計37
で、その先生に持っていったプログラムがこちら。
#include<stdio.h>
#include<stdlib.h>
int main()
{
srand(time(NULL));
int a[100];
int b[100];
int c;
int d;
int e;
int f;
int g;
int h;
int i;
int j;
int t,y;
int yy[50];
int l,m;
int o;
l=0;
m=0;
d=1;
printf("人数");
scanf("%d",&c);
o=y;
e=c;
f=c;
m=c;
c--;
for(;c>=0;c--)
{
a[c]=d;
d++;
}
int p;
p=9999;
//for(int p=0;p<f;p++)printf("%d\n",a[p]);
for(;p>=0;p--)
{
printf("%d\n",p);
g=rand();
//g=2147483648;
for(;g>0;g--)
{
h=rand()%f;//入れ替え番号
i=rand()%f;//入れ替え番号
j=a[h];
a[h]=a[i];
a[i]=j;
}
}
f--;
//以下表示関係
for(;f>=0;f--)
{
printf("%d ",a[f]);
if(f==31)
{ printf("\n\n");
}
if(f==25)
{ printf("\n\n");
}
if(f==19)
{ printf("\n\n");
}
if(f==13)
{ printf("\n\n");
}
if(f==7)
{ printf("\n\n ");
}
if(f==3)
{ printf("\n\n ");
}
}
printf("\n\n");
return 0;
}
どうか四面楚歌対策の作り方やソースを投稿してください。