Ваш вопрос:
Я хочу знать, где я делаю ошибку
Есть несколько слоев, где вы делаете ошибку.
Вы хотите реализовать массив в C ++, хотя все (std::array
, std::vector
и т. Д.) Доступно. Не делайте этого, кроме как в академических целях.
Вы действительно используете new
и указатели (для собственной памяти) и простые массивы C-Style в C ++. Вы не должны (не должны) использовать new
. А также, пожалуйста, никогда не используйте указатели для ресурсов, таких как собственная память. Не делай этого. Избегайте использования массивов C-Style. В этом нет необходимости, и они подвержены ошибкам.
Тяжелые ошибки:
createqm запишет за пределы. Это испортит память. Ваш массив имеет начальный размер, и вы обращаетесь к несуществующим строкам или кулонам.
Вы не инициализируете свои переменные
Вы используете память, которая может быть не выделена. Нет проверки
Нет проверки границ перед доступом к необработанной памяти. Что приведет к проблеме в вашем коде.
Держите ограниченную область видимости. Например. Определите цикл varaible в операторе for, а не выше.
Назовите свои переменные, чтобы кто-нибудь (например, вы через 3 месяца) мог понять код.
Не открывайте полный текст std
-namespace
Следуйте некоторым стандартам кодирования и стандарту отступов.