2013-07-24 53 views
0

這是我的代碼,PLease幫助我!即時通訊使用xcode ..我想生成一個多項式序列和條款異或並作出反饋的第一個輸入位,因爲它是8位它完成2^8-1 times.Alternate代碼也將提前我越來越thread1:信號sigbart在輸出

#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

當你在調試模式下運行時會發生什麼?調試器停在哪一行? –

+0

在最後一行代碼 –

回答

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

謝謝,但這並沒有糾正它。我有疑問..我們可以做 cin >> n; bool temp [n];在C++ ..或者我們必須動態地執行它? –