I am a beginner in programming, I wanted to well verse in basic languages like c & C++. While talking about the theory I can easily understand the concepts, but If I need to write a program with simple concept I am struggling to even think of it. I wanted to become a good programmer, I know the basics of C, C++. Wat I have to do next, is there anyone to help me in this concern.

practice, practice and more practice. write a simple game, such as hangman or tick-tack-toe. The concepts will become more firmly set in your mind with more coding.

i'd say start with simpler things, like bidimensional array manipulation, fibonacci... maybe a Tic-tac-Toe, or a Battleship... just so you get used to loops and pointers and that stuff...

I'm also a beginner a. For 2 weeks I read the entire c++ book with nore than 1200 pages. I know all the theory ,but not a master yet. I can say that we have to use the power of our imagination and reasoning or logic to create a simple or complicated programs, but we have to start from simple one.

the most important thing about programming in any language is how you use your imagination to know what you're going to do, and how your program is going to look like when finished... at least that's what i do...

Places to practice and hone your skills.
1. Any question asking for help on a forum such as this, just to see if you can do it. If you can do it, fine, but don't post the complete solution. Instead, offer hints to the solution which the OP can pick up on.
You only truly understand something when you can explain it in simple terms to someone else.

2. Online programming contests (scroll to end)
There are many sites which have a vast array of problems from the very simple to the very difficult.

3. Open Source
Find a small open source project which you can get excited about.
- Download the source, build it, run it
- Study the code in detail
- Read any other background information, such as developer guides, design documents, test documents, coding standards etc
- Lurk on the developer mailing lists for a while
- Study the code in detail
- Read through all the bugs, and pick one which has a very definite cause and effect which you can replicate locally.
- Try to find where it actually occurs in the code, and how to fix it
- Study the project submissions guidelines on how to submit the fix.
- If your change is accepted, feel fantastic! Then try a meatier problem :)

commented: excelent suggestion +3

> I wanted to become a good programmer
Becoming a good programmer is all about using the right tools at the right time. Try to learn new very high level languages like Ruby, Python etc. Every language you learn will give you a new perspective of the problem at hand.

The 'best' of programmers don't program just because they have to program, but because they want to program and can't live without it. No wonder programming is called an art.

And yes, follow the nice advice given to you on this thread. It will help you in becoming a better you. Best of luck!! :)

Great advise on this thread...

one question though::

2. Online programming contests (scroll to end)
There are many sites which have a vast array of problems from the very simple to the very difficult.

i scrolled down {in the page you suggested}, and there were some links concerning online judges.... have i missed some link?

Those would be the ones I was thinking of, yes.

n.aggel, maybe this would help. Follow the links and you would find some really good sites, notable among them is Topcoder which has a *lot* of practice problems under categories like 'Algorithm design', 'Software Development' and 'Software design'.