это мой код, пожалуйста, помогите мне! Я использую xcode. Я хочу сгенерировать последовательность для полинома, и термины xor’ed и сделали обратную связь с первым входным битом, так как он 8-битный, это делается 2 ^ 8-1 раз. Альтернативный код также будет полезно заранее спасибо
#include "32bit.h"#include<iostream>
using namespace std;
int main()
{
bool input[8];
int n;
bool out=0;
cout<<"Enter the no of terms ";
cin>>n;
int temp1[n];
int gen=0;
bool store[255];
cout<<"Input power of x in increasing order, Omit x^0";for(int i=0;i<n;i++)
cin>>temp1[i];
cout<<"Enter key to generate ";
cin>>gen;
for(int m=0;m<255;m++)
{
store[m]=input[gen];
bool temp2[n];
int var=0;
for(int j=0;j<n;j++)
{
var=temp1[j];
temp2[j]=input[var];
}
int c=0;
for(int k=0;k<n;k++)
{
if(temp2[k]%2==1)
c++;
}
if(c%2==1)
out=1;
else
out=0;
for(int l=0;l<8;l++)
input[l+1]=input[l];
input[0]=out;
}
for(int p=0;p<255;p++)
cout<<store[p];
}
Здесь есть доступ к массиву вне границ:
for(int l=0;l<8;l++)
input[l+1]=input[l];
поскольку input
только размером 8, и вы пытаетесь написать input[8]
(т. е. несуществующий 9-й элемент) на последней итерации этого цикла. Я предполагаю, что это должно быть:
for(int l=0;l<7;l++)
input[l+1]=input[l];
Других решений пока нет …