for(int i = 0; i<(n-1); i++)
{
for(int j = (i+1); j<n; j++)
{
al_draw_line(pX[i], pY[i], pX[j], pY[j], red, 2);
file<<"Line between "<<pX[i]<<" "<<pY[i]<<" and "<<pX[j]<<" "<<pY[j]<< endl;
}
}
Я все еще немного «новичок» в C ++, сейчас работаю в Allegro 5, и приведенный выше код должен рисовать линии между точками «i» и «j», описываемыми координатами, хранящимися в векторах, т.е. pX [1] и pY [1] — координаты «Точки 2».
Проблема в том, что строки не нарисовано, и я не знаю, почему. Как часть (грубой) отладки, уведомления (предполагаемого) рисования сохраняются в файле .txt в схеме, показанной ниже. В результате я получаю правильно заполненный файл:
Line between 417.815 260.791 and 411.355 280.674
Line between 417.815 260.791 and 400.902 298.778
Line between 417.815 260.791 and 386.913 314.314
Line between 417.815 260.791 and 370 326.602
Line between 417.815 260.791 and 350.902 335.106
Line between 417.815 260.791 and 330.453 339.452
и так далее, что означает, что с числовым вводом все в порядке.
Здесь может быть какая-то очевидная ошибка, но теперь я невежественный и отчаянный.
Идеи, кто-нибудь?
Изменить: я не получаю ни ошибок, ни предупреждений. pX, pY — одномерные массивы типа «float» размера «int n», «i» также является int, используется только в цикле «for».
Полный список функций, включая этот код: http://pastebin.com/JvsGVrTM
Задача ещё не решена.
Других решений пока нет …