📄 d7r11.cpp
字号:
#include "iostream.h"
int equiv(int i, int j)
{
if ((i % 4) == (j % 4))
{
return -1;
}
else
{
return 0;
}
}
void eclazz(int nf[], int n)
{
int jj;
nf[1] = 1;
for (jj = 2; jj<=n; jj++)
{
nf[jj] = jj;
for (int kk = 1; kk<=jj - 1; kk++)
{
nf[kk] = nf[nf[kk]];
if (equiv(jj, kk))
{
nf[nf[nf[kk]]] = jj;
}
}
}
for (jj = 1; jj<=n; jj++)
{
nf[jj] = nf[nf[jj]];
}
}
void main()
{
//program d7r11
//driver for routine eclazz
int i,j,n = 15;
int nf[16],nflag[16], nsav[16];
eclazz(nf, n);
cout.setf(ios::right);
for (i = 1; i<=n; i++)
{
nflag[i] = 1;
}
cout<<endl;
cout<<"Numbers from 1-15 divided according to"<<endl;
cout<<endl;
cout<<"their value modulo 4:"<<endl;
cout<<endl;
int k,nclass,lclas = 0;
for (i = 1; i<=n; i++)
{
nclass = nf[i];
if (nflag[nclass] != 0)
{
nflag[nclass] = 0;
lclas = lclas + 1;
k = 0;
for (j = 1; j<=n; j++)
{
if (nf[j] == nf[i])
{
k = k + 1;
nsav[k] = j;
}
}
cout<<"Class"<<lclas<<":"<<" ";
for (j = 1; j<=k; j++)
{
cout.width(4);
cout<<nsav[j];
}
cout<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -