Я получаю поток 1: сигнал SIGBART в выводе

это мой код, пожалуйста, помогите мне! Я использую 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];
}

0

Решение

Здесь есть доступ к массиву вне границ:

    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];
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]