Если вы хотите связать с этим своё будущее, то, конечно же, стоит. Обучение лучше всего проходить в специализированном учебном заведении. Даже закончив его, люди потом учатся практически всю жизнь, так как технологии не стоят на месте.. Требуются постоянные курсы повышения квалификации, чтобы идти в ногу со временем.
Самостоятельное изучение программирования могут вывести вас на определённый уровень знаний, но не на самый высший.
Для самостоятельного изучения советую приобрести учебные материалы какого-либо ВУЗа. Список материалов обычно выложен на главных страницах факультета.
Чтобы создать динамический массив в C++ необходимо:
- Создать переменную, которая будет содержать количество элементов массива.
- Задать этой переменной значение ( можно сделать так, чтобы оно вводилось с клавиатуры)
- Выделить память под массив
- Задать каждому элементу массива определенное значение
- Произвести очистку памяти
А теперь как все это выглядит в программе:
Sololearn - хорошая платформа для обучения с возможностью писать и запускать коды на рабочей платформе Code Playground. Функционал не большой и обучение базовым навыкам, но для новичков как раз. Я сам там начинал учиться. В Sololearn есть и другие языки (php, html, css, sql, swift, c++, c#, jquery, java, ruby и python). Так же там есть что-то на подобии соревновательных игр, которые хорошо помогают закрепить изученный материал.
Модель или парадигма программирования обладает своей областью применимости, преимуществами и недостатками. Ответственность за выбор модели программирования несёт архитектор проекта.
Объектно-ориентированное программирование больше подходит для проектов с большим числом объектов, структуры данных которых редко меняются. Например, в играх объектов много, но их структуры близки к статическим или меняющимся ступенчато. Хотя следует учитывать, что сейчас всё чаще появляются игрушки с динамическим изменением форм и объёмов объектов.
Парадигма объектно-ориентированного программирования является подмножеством структурного программирования, которое в свою очередь является подмножеством парадигмы императивного программирования.
Функциональное программирование — вотчина изменяющихся потоком данных. При малом количестве объектов, но их постоянном изменении удобно задать характер изменения объекта функцией. Тогда при одинаковых входных данных на выходе всегда будем получать один и тот результат. То есть результаты можно кешировать, тем самым оптимизируя скорость работы программы. Функциональное программирования является декларативным.
Если нет ошибок и переменные $Rtwo и $Rtree остаются пустыми, значит не выполнилось ни одно условие. Неплохо было бы взглянуть на значения остальных переменных, что бы знать, пос=чему ни один if не срабатывает.
А так, попробуйте во всех условиях заменить оператор and на &&. Они-то вроде как одинаковые, но у && приоритет выше. Поэтому в некоторых случаях эти два оператора могут давать различный результат.