Массив не распечатывается через cout

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;
}
 }
  • 3
    Перво-наперво ... вы знаете, как использовать отладчик?
  • 3
    Используйте клавишу < больше.
Показать ещё 2 комментария
Теги:
arrays
search

3 ответа

4
Лучший ответ

Этот цикл (и другие)

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

заканчивается, когда j=8 значение true. Это всегда.

Ты имел ввиду:

for(int j=1; j<=8; j++)
  • 0
    Да, это было так. Благодарю. Я мог бы сделать J <= 8 или J == 8 правильно?
  • 0
    == не будет работать, так как он не запустится в первый раз. j == 8 оценивается как ложное на первой итерации, потому что j изначально равно 1.
Показать ещё 2 комментария
2

Вы for циклы все неправильно, например, вам нужно изменить:

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

в

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

и аналогичным образом для других.

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;
    }
}

Я скомпилировал и запустил его - отлично работает (по крайней мере, я предполагаю, что это то, что вы хотели сделать).

  • 0
    Да, проблема была в том, что я <= 8.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню