Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream>
int M(int a[]);
int L(int a[]);
int S(int a[]);
int fix(int x);
using namespace std;
int main()
{
int n;
cout << "Vvedite kolichestvo funkciy = ";
cin >> n;
if((n>5)||(n<1))
return -1;
int k=8, POST[n][5]; int f[n][8];
for(int i=0;i<n;i++)
for(int j=0;j<5;j++)
POST[i][j]=0;
for(int i=0;i<n;i++)
{
cout << endl << "Vvedite funkciu № " << i+1 << endl;
for(int j=0;j<k;j++)
cin>>f[i][j];
}
for(int i=0;i<n;i++)
if(f[i][0]==0)
POST[i][0] = 1;
for(int i=0;i<n;i++)
if(f[i][k-1]==1)
POST[i][1]=1;
for(int i=0;i<n;i++)
{
POST[i][2] = S(f[i]);
POST[i][3] = M(f[i]);
POST[i][4] = L(f[i]);
}
cout << "T0 T1 S M L" << endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<5;j++)
cout << POST[i][j] << " ";
cout << endl;
}
int t0=0, t1=0, s=0, m=0, l=0;
for(int i=0;i<n;i++)
{
if(POST[i][0]==1)
t0++;
if(POST[i][1]==1)
t1++;
if(POST[i][2]==1)
s++;
if(POST[i][3]==1)
m++;
if(POST[i][4]==1)
l++;
}
if((s==n)||(m==n)||(l==n))
{
cout << "Ne funkcionalno-polnaya";
return 0;
}
if((t0==n)||(t1==n))
{
cout<< "Oslablenno-plnaya";
return 0;
}
cout << "Funkcionalno-polnayaя";
return 0;
}
int S(int a[])
{
int b[8];
int i;
for(i=0;i<8;i++)
{
if(a[i]==0)
b[8-1-i] = 1;
else if(a[i]==1)
b[8-1-i] = 0;
}
int k=0;
for(i=0;i<8;i++)
{
if(b[i]==a[i])
k=k+1;
}
if(k==8)
return 1;
else return 0;
}
int M(int a[])
{
int i;
int x1[8],x2[8],x3[8];
for(i=0;i<8;i++)
{
x1[i]=x2[i]=x3[i]=0;
if(i%2==1)
x3[i]=1;
if((i==2)||(i==3)||(i==6)||(i==7))
x2[i] = 1;
if(i>3)
x1[i] = 1;
}
for(i=0;i<8;i++)
{
if(a[0]>a[i])
return 0;
if((x3[i]==1)&&(a[1]>a[i]))
return 0;
if((x2[i]==1)&&(a[2]>a[i]))
return 0;
if((x1[i]==1)&&(a[4]>a[i]))
return 0;
}
return 1;
}
int L(int a[])
{
int b[9];
b[0] = a[0];//a0
b[1] = b[0]^a[4];//a1
b[2] = b[0]^a[2];//a2
b[3] = b[0]^a[1];//a3
b[4] = b[0]^b[2]^b[3]^a[3];//a23
if(b[4]!= 0)
return 0;
b[5] = b[0]^b[1]^b[3]^a[5];//a13
if(b[5]!=0)
return 0;
b[6] = b[0]^b[1]^b[2]^a[6];//a12
if(b[6]!=0)
return 0;
b[7] = b[0]^b[1]^b[2]^b[3]^b[4]^b[5]^b[6]^a[7];//a123
if(b[7]!=0)
return 0;
cout<<endl;
return 1;
}
Соседние файлы в папке DM