0

このコードを印刷しようとすると、問題が発生します。範囲 1 から 8 の検索スペースを生成する関数があります。しかし、それを出力しようとすると、プログラムが終了します。

#include <iostream>;
using namespace std;

char yOrN;
int answer;
const int LENGTH=4096;
int guess[LENGTH];

void searchspace(int guesses[],int length){
int count = 0;
for(int i=1; i=8;i++){
    for(int j=1; j=8; j++){
        for(int k=1;k=8;k++){
            for(int l=1;l=8;l++){
                guesses[count]=1000*i+100*j+10*k+l;
                count++;
            }
        }
    }
}
}

int main(){
searchspace(guess,LENGTH);
for(int i = 0; i<4096;i++){
    cout<<guess[i]<<endl;
}
 }
4

3 に答える 3

4

このループ (およびその他)

for(int j=1; j=8; j++)

j=8と評価されたときに終了しtrueます。これは常にです。

もしかして:

for(int j=1; j<=8; j++)
于 2013-10-26T22:05:49.180 に答える
2

ループforがすべて間違っています。たとえば、次のように変更する必要があります。

for(int i=1; i=8;i++){

for(int i=1; i<=8;i++){

他のものについても同様です。

于 2013-10-26T22:06:00.127 に答える
0

コードを修正しました:

  • ループ用
  • yOrn 、回答は使用されなかったため、削除されました
  • 「;」を削除しました #include の後

ここにあります:

#include <iostream>
using namespace std;

const int LENGTH=4096;
int guess[LENGTH];

void searchspace(int guesses[],int length){
    int count = 0;
    for(int i=1; i<=8;i++){
        for(int j=1; j<=8; j++){
            for(int k=1;k<=8;k++){
                for(int l=1;l<=8;l++){
                    guesses[count]=1000*i+100*j+10*k+l;
                    count++;
                }
            }
        }
    }
}

int main(){
    searchspace(guess,LENGTH);
    for(int i = 0; i<4096;i++){
        cout<<guess[i]<<endl;
    }
}

私はそれをコンパイルして実行しました-完全に動作します(少なくとも、それがあなたがやりたかったことだと思います)。

于 2013-10-27T02:12:15.307 に答える