kashmar4ik![]() | Возникает ошибка нарушение прав доступа при чтении при написании рисовалки графиков в консолиОбновлен 1680282663 Всем привет! Недавно начал изучать С++ и когда добрался до массивов - возникла идея написать рисовалку графиков в консоли.
Получилась вот такая штука:
Но проблема вот в чём. Если мы меняем переменную formula на другую. Например на x*x, чтобы нарисовать параболу - то получаем ошибку. Избавиться от нее можно только изменив параметр y = formula / 10 например на y = formula / 1000.
Но при таком варианте, линию рисовать программа уже не будет. Вопрос состоит в том, как исправить эту ошибку и из-за чего она возникает? Если что - размер динамического массива такой большой из-за того, что после отладки на маленьком масштабе - я хочу увеличить масштаб)
Добавлено через 21 минуту
Если вы поменяйте переменную formula на formula = x, или formula = 2*x то всё будет работать. А вот с другими формулами, например 5*x - уже нет, нужно менять y. |
zss![]() | Сергей Сергеевич 1680282841 kashmar4ik,
«web[20 - y][i] = "0";»
При y>20 выход за границы
Поэтому надо ограничивать y:
kashmar4ik
![]() ![]() |
kashmar4ik![]() | 1680283000 zss, «Поэтому надо ограничивать y:»
Так я вроде снизу выставил условие через if? Почему оно не работает? влепить жирный лайк![]() |
zss![]() | Сергей Сергеевич 1680283091 kashmar4ik,
kashmar4ik
Где Вы тут видите ограничение y?![]() ![]() ![]() |
kashmar4ik![]() | 1680283189 zss,
sash
Я предполагал, что если у нас значение k < 0 или K > 39, то ничего не будет происходить, тоесть типо таким образом наложить ограничение на y![]() ![]() |
zss![]() | Сергей Сергеевич 1680283290 kashmar4ik,
«if (k < 0 && k > 39)»
всегда даёт ложь
kashmar4ik
![]() ![]() ![]() |