У меня есть 2d вектор размером 7 * 7 с именем таблицы.

Все значения равны 0, кроме 2 из них.

Когда я запускаю следующую программу, я предполагаю, что вхожу в бесконечный цикл, потому что на экран ничего не выводится, и мне нужно нажать Ctrl + C для отмены в терминале.

В настоящее время у меня есть это, что дает мне ошибку

for(x=0; x = 6 ; x++){
    for(y=0; y = 6 ; y++){
        if (table.at(x).at(y) != 0)
            cout << "Yes." << endl;             
        }
    }

Я не понимаю, почему он не проходит через каждое значение таблицы в порядке (0,0), затем (0,1), затем (0,2) ... (1,) (1,1) ( 1,2) ... и т. Д., Пока не пройдут их все.

0
user2201112 23 Мар 2013 в 03:11
Почувствуй себя идиотом. Спасибо, сэр.
 – 
user2201112
23 Мар 2013 в 03:21
Это случается время от времени с каждым программистом. Не воспринимай это слишком тяжело.
 – 
Helio Santos
23 Мар 2013 в 03:22

1 ответ

Лучший ответ

Заменить = на <=

for(x=0; x <= 6 ; x++){
  for(y=0; y <= 6 ; y++){
    if (table.at(x).at(y) != 0)
      cout << "Yes." << endl;
    else
      cout << "No." << endl;  
  }
}
2
Helio Santos 23 Мар 2013 в 03:19
Вот это да. Вы только что решили час ломать мне голову одним персонажем. Спасибо, сэр.
 – 
user2201112
23 Мар 2013 в 03:16