У меня возникают проблемы с попыткой распечатать этот код. У меня есть функция, которая генерирует пространство поиска с диапазонами от 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;
}
}
Этот цикл (и другие)
for(int j=1; j=8; j++)
заканчивается, когда j=8
значение true
. Это всегда.
Ты имел ввиду:
for(int j=1; j<=8; j++)
Вы for
циклы все неправильно, например, вам нужно изменить:
for(int i=1; i=8;i++){
в
for(int i=1; i<=8;i++){
и аналогичным образом для других.
Исправлен код:
вот:
#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;
}
}
Я скомпилировал и запустил его - отлично работает (по крайней мере, я предполагаю, что это то, что вы хотели сделать).
<
больше.