У меня есть программа, которая перебирает массив, детерминистически создавая новые векторы-строки, которые затем добавляет в массив.
На каждой итерации берется норма вектора, чтобы убедиться, что он не равен нулювектор.Если он равен нулю, программа останавливается.
Была ошибка, из-за которой третья итерация приводила к тому, что вектор обнулялся.
В поисках этой ошибки я заполнил код отладочной печатьоператоры print *, «здесь», this_var и т. д. Одно из этих утверждений print (которое печатает норму последнего вектора) исправило программу.
Мне не нравится оператор print.Мне также не нравится, что я не понимаю, что происходит.
У кого-нибудь есть идеи о том, почему утверждение печати повлияет на то, что оно печатает?
Код (~ 400 строк, много комментариев) доступно