Temel programlama bilgisi alınmadan gerçek anlamıyla "algoritma" öğrenilemez maalesef. Veyahut ileri matematik bilgisi alınmadan.
Onun dışında c++ ta baktığın şeyler muhtemelen değişkenler döngülerdir bu sebeple basit geliyordur. Şuanda bir çok karmaşık sistemin yazıldığı dil olan c++ hiçte basit değildir.
Programlama dilini yöneleceğin alana göre seçersen senin için daha faydalı olur. Öbür türlü dilden dile atlamak saçma ve zaman kaybıdır. Bir tarlayı 20 yerinden birer metre kazacağına bir yerinden 20 metre kazarsın, hiç değilse su çıkar..
Bu arada genel amaçlı windows programlama web programlama ve windows phone programlama için c# , linux/windows programlama web programlama(django) hatta android programlama(kivy) "hacker" araç gereçleri (exploit , sniffer vs) programlama için python öneririm. Sadece web programlamaya hızlı bir giriş yapmak istersen php, sadece android programlamaya girmek istersen core java dan başlayarak java öğrenmeni tavsiye ederim.
Temel programlama bilgisini aldıktan sonra, oop , algoritma(search algorithms, sort algorithms, bst algorithms , graph algorithms) ve sonrasında da design pattern öğrenmeni tavsiye ederim.