资源简介
#include
using namespace std;
//求G对应阶数的子群
int ziqun(int j)
{
int Jie =12/j;
int i=0;
int h[12];
for(;i<Jie;i++)
{
h[i]=i*j;
}
return h[12];
}
//求出子群h的所有陪集,包括重复的
int peiji(int G[12],int h[12])
{
int result[12][12];
int m=sizeof(h)/sizeof(h[0]);
for(int i=0;i<12;i++)
{
for(int j=0;j<m;j++)
{
result[i][j] = mojia(h[j],G[j]);
}
}
return result[12][12];
}
//删减重复的陪集,得到最终陪集
int getPeiJi(int arr[12][12])
{
int m=sizeof(arr[0]);
int n=sizeof(arr);
int len2=m/sizeof(int);
int len1=n/m;
int result[][] = new int[len1][len2];
int n=0;
for(int i=0;i<len1;i++)
{
int temp[len2] = array[i];
bool flag = false;
for(int j=i+1;j<len1;j++)
{
if(compare(temp[len2],array[j]))
{
flag = true;
}
}
if(!flag)
{
result[n] = temp;
n++;
}
}
int newArr[][] = new int[n][len2];
for(int m=0;m<n;m++)
{
newArr[m]= result[m];
}
return newArr[12][12];
}
//打印出最终陪集
void printPeiJi(int newArr[][])
{
int i=0
int j=0
int m=sizeof(newArr[0]);
int n=sizeof(newArr);
int len2=m/sizeof(int);
int len1=n/m;
//cout<<"陪集是:"<<endl;
for(;i<len1<i++)
{
cout<<"h"<<i<<": {";
for(;j<len2;j++)
{
cout<<newArr[i][j]<<'';
}
cout<<"}"<<endl;
}
}
//求划分,每个子群的陪集并集对应G的一个划分
void fenjie(int newArr[12][12])
//模加运算的定义
int mojia(int a,int b)
{
if(a<12&&b<12)
return (a+b);
else
return null;
}
//比较两个数组内容是否完全相等
bool compare(int a[12],int b[12])
void main()
{
int G[12]={0,1,2,3,4,5,6,7,8,9,10,11};//G为给定群
int i=0;
int N;//N为子群阶数
//int h1[12],h2[12],h3[12];
for(;i<6;i++)
{
cout<>N;
cout<<N<<"阶子群的陪集是:";
printPeiJi(getPeiJi( peiji(G[12],ziqun(N))));
cout<<"对应G的配集分解为:"<<endl;
fenjie(getPeiJi( peiji(G[12],ziqun(N))));
}
}
代码片段和文件信息
#include
using namespace std;
//求G对应阶数的子群
int ziqun(int j)
{
int Jie =12/j;
int i=0;
int h[12];
for(;i {
h[i]=i*j;
}
return h[12];
}
//求出子群h的所有陪集,包括重复的
int peiji(int G[12]int h[12])
{
int result[12][12];
int m=sizeof(h)/sizeof(h[0]);
for(int i=0;i<12;i++)
{
for(int j=0;j {
result[i][j] = mojia(h[j]G[j]);
}
}
return result[12][12];
}
//删减重复的陪集,得到最终陪集
int getPeiJi(int arr[12][12])
{
int m=sizeof(arr[0]);
int n=sizeof(arr);
int len2=m/sizeof(int);
int len1=n/m;
int result[][] = new int[len1][len2];
int n=0;
for(int i=0;i {
int temp[len2] = array[i];
bool flag = false;
for(int j=i+1;j {
if(compare(temp[len2]array[j]))
{
flag = true;
}
}
if(!flag)
{
result[n] = temp;
n++;
}
}
int newArr[][] = new int[n][len2];
for(int m=0;m {
newArr[m]= result[m];
}
return newArr[12][12];
}
//打印出最终陪集
void printPeiJi(int newArr[][])
{
int i=0
int j=0
int m=sizeof(newArr[0]);
int n=sizeof(newArr);
int len2=m/sizeof(int);
int len1=n/m;
//cout<<“陪集是:“< for(;i {
cout<<“h“<
评论
共有 条评论