Welcome to codechef. I’ll be your guide.
The age of Turbo C++ ended a long time ago, along with the use of
.h after header files. For the new C++, we do not use
<iostream.h>, we instead use
<iostream> and after the headers add a
using namespace std;. We no longer need to add the
.h. For native C headers, we add a c before the header, for example,
<stdio.h> in C++ becomes
<cstring> ( there is also a new header
<string> in C++, do not mix it with
<cstring> ) , and so on.
void main() is no longer accepted according to the C++ standard. You must use
int main(). You can use
void main() on Turbo C++, but not on newer versions. You must use
int main() and also have a
return 0; ( most new compilers will be okay even if you skip the
return 0 in
Also, some headers like
<conio.h> ( so no using
clrscr() ) and
<dos.h> are not pat of the standard, so don’t use them. Here’s a list of standard libraries
Let me show you simple Program.
using namespace std; // don't forget this
cout << "Hello World";
You will need a new IDE and compiler other than Turbo C++ to get started with Competitive Programming. I suggest to Download Dev C++ or CodeBlocks ( recommended ) with gcc 4.9.2 ( or gcc 4.8.2 ) for best performances. You can also compile your programs on the codechef IDE or ideone or other online compilers.
While on C++, avoid the use of character arrays. They are unsafe. You can instead use
string. Here’s an example.
string mystring; // declaring strings
cin >> mystring; // accepting strings
cout << mystring; // display string
string str = " Welcome to codechef " // initialization
mystring = "Welcome to " + "codechef"; // no need for `strcat()`
if( str == mystring ) // no need for `strcmp()`
There are also nother features like
maps etc which you can slowly start learning.
Nearly forgot, the problem with you 3rd for loop us that you forgot to add int, simply change it to
for( int i = 2 ; i <= n ; i++ )