You are on page 1of 280

( - .

??http://cpbook.subeen.com



, , , ,
!
, ,

-
,
, ;


,
! - ,
,

, , , ,

??http://cpbook.subeen.com

()

,
,



( )

-
? ,
,


''
,


, , , , , ,
, , , , , , ,
, , , , ,

http://cpbook.subeen.com

book@subeen.com

??http://cpbook.subeen.com



,


(Loop)




(String)





:
:
:

, ? , ,,
(0) (1) (user) ,

010,1
, 0,1
,,
ADD(),MUL()0,1
,

(Fortran),(Basic),(Pascal),(C),,
,(C++),(VisualBasic),(Java),(C#),(Perl),(PHP),
(Python), (Ruby)
,
,

,
(logic),

??http://cpbook.subeen.com
,


,
,
,
,
(,
) ,

,(),

,
,,,

,

,? ,
gcc
Codeblocks(http://www.codeblocks.org/)
IDE(IntegratedDevelopmentEnvironment)
(:,,)
(IDE)

Codeblocks http://www.codeblocks.org Downloads


Binaries (codeblocks13.12mingwsetup.exe)
,
UbuntuSoftwareCenter(Applications>UbuntuSoftwareCenter)

,



,
,
,(http://cpbook.subeen.com)

.,


,
,

??http://cpbook.subeen.com
' '
http://dimikcomputing.com
,
http://programming-course.appspot.com

, HelloWorld

Codeblocks
,

??http://cpbook.subeen.com
.
.

??http://cpbook.subeen.com
.
.
No(.)

??http://cpbook.subeen.com

Start Programs Codeblocks


Applications>Programming
.

(.)Showtipsatstartup(tick)
FileNewFileEmptyFile(.)

??http://cpbook.subeen.com
(Save)
SaveastypeC/C++files(.)

.
hello.c.c

#include<stdio.h>

intmain()
{
printf("HelloWorld");

return0;
}
:.

,?,!
BuildCompileCurrentFile

??http://cpbook.subeen.com
.

0errors,0warnings,syntax
.

BuildRun(.) .

,HelloWorldProcessreturned0(0x0)(
)executiontime:0.031s0.031
,Pressanykeytocontinue. Anykey

HelloWorld

??http://cpbook.subeen.com

:#include<stdio.h>,

:intmain(),
()
return0; ,
:

intmain()
{

return0;
}

:printf(HelloWorld); printf()

stdio.h(header)(.h
)stdio.h ,
, printf()
,#include<stdio.h>,

printf(Hello World);
return0;
, ,
(compileerror)

#include<stdio.h>,intmain(),{
} printfreturn0(
) (Indentation)

,
,

,
(Tab) Codeblocks Settings
EditorTABOptionsTABindentsTABsizeinspaces4(.)

??http://cpbook.subeen.com
.

:Ilovemycountry,Bangladesh

,
,?!
, =

, ,

#include<stdio.h>

intmain()
{
inta;
intb;
intsum;

a=50;
b=60;

sum=a+b;

printf("Sumis%d",sum);

??http://cpbook.subeen.com
return0;
}
:.

, :Sumis110

a,b,sum(variable)a,b,sum
inta;a
(integer)
int,
,
, :inta,b,sum;

:
a=50;
b=60;
a50b60(assign),,a
50b60

:sum=a+b;,suma+b,ab
sum(assign)

,printf

printf(Sumis%d,sum);
printfSumis%dSum
is %d sum
%dsum%d,
,
,
,

#include<stdio.h>

intmain()
{
inta,b,sum;

a=50;
b=60;

sum=a+b;

printf("Sumis%d",sum);

return0;
}
:.

??http://cpbook.subeen.com
:

#include<stdio.h>

intmain()
{
inta=50,b=60,sum;

sum=a+b;

printf("Sumis%d",sum);

return0;
}
:.

#include<stdio.h>

intmain()
{
intx,y;
x=1;
y=x;
x=2;

printf("%d",y);

return0;
}
:.

?12?1,,x1
(x=1;)xy(y=x;)y
1 x 2 y
y=x; '='

#include<stdio.h>

intmain()
{
inta=50,b=60,sum;

sum=a+b;

??http://cpbook.subeen.com
printf("%d+%d=%d",a,b,sum);

return0;
}
:.

?printf(%d+%d=%d,a,b,sum);printf(%d+%d=%d,b,
a,sum);

,,,
,
, ,
,

,,
,int(realnumber),
?

#include<stdio.h>

intmain()
{
inta=50.45,b=60,sum;

sum=a+b;

printf("%d+%d=%d",a,b,sum);
return0;
}
:.

a50.45,,main
return0;?return0;

:50+60=110

a50,50.45(typecast)
doubledoubleint,
:inta=(int)50.45
inta=50.99;a50inta=50.9;a50doubleint

#include<stdio.h>

intmain()
{
intn;
doublex;

x=10.5;

??http://cpbook.subeen.com
n=(int)x;

printf("Valueofnis%d\n",n);
printf("Valueofxis%lf\n",x);

return0;
}
:.

x- - double
, %lf (l L)
int?:

#include<stdio.h>

intmain()
{
inta;

a=1000;
printf("Valueofais%d",a);

a=21000;
printf("Valueofais%d",a);

a=10000000;
printf("Valueofais%d",a);

a=10000000;
printf("Valueofais%d",a);

a=100020004000503;
printf("Valueofais%d",a);

a=4325987632;
printf("Valueofais%d",a);

return0;
}
:.

a?
printf
printf:printf(Valueofais%d\n,a);printf\n

a,21474836482147483647
,intintint
(byte)(1byte=8bit)
,01(00,01,10,11)32:232
4294967296 , 2147483648 1
2147483648021474836472147483648,4294967296 ,

??http://cpbook.subeen.com

(realnumber),
,...3,2,1,0,1,2,3...5,3,2.43,0,0.49,2.92(
)

#include<stdio.h>

intmain()
{
doublea,b,sum;

a=9.5;
b=8.743;

sum=a+b;

printf("Sumis:%lf\n",sum);

printf("Sumis:%0.2lf\n",sum);

return0;
}
:.
:
Sumis:18.243000
Sumis:18.24

%lf
, %0.2lf ( %0.3lf ,
%0.0lf)double641.7E308(1.7x10308) 1.7E+308 (1.7 x 10308)
,

,
, ( )
scanf (- )
:

#include<stdio.h>

intmain()
{
inta,b,sum;

scanf("%d",&a);
scanf("%d",&b);

sum=a+b;

printf("Sumis:%d\n",sum);

??http://cpbook.subeen.com
return0;
}
:.

(blank screen) , (space)


(enter)

scanf scanf(%d, &a); %d


scanf- int (
) a- (&) , &a
a , &a-
, a b- scanf :
scanf(%d %d, &a, &b); & ? ,
,

#include<stdio.h>

intmain()
{
inta,b,sum;

scanf("%d",&a);
scanf("%d",b);

sum=a+b;
printf("Sumis:%d\n",sum);

return0;
}
:.

? scanf- %d-
%lf

, int double

,
,
, ,
,

, char (character) character



, char
:
#include<stdio.h>

intmain()

??http://cpbook.subeen.com
{
charch;

printf("Enterthefirstletterofyourname:");
scanf("%c",&ch);
printf("Thefirstletterofyournameis:%c\n",ch);

return0;
}
:.

, char printf scanf %c


getchar, char :

#include<stdio.h>

intmain()
{
charch;

printf("Enterthefirstletterofyourname:");
ch=getchar();
printf("Thefirstletterofyournameis:%c\n",ch);

return0;
}
:.
getchar ch
char
: char c = 'A';

#include<stdio.h>

intmain()
{
intnum1,num2;

printf("Pleaseenteranumber:");
scanf("%d",&num1);
printf("Pleaseenteranothernumber:");
scanf("%d",&num2);

printf("%d+%d=%d\n",num1,num2,num1+num2);
printf("%d%d=%d\n",num1,num2,num1num2);
printf("%d*%d=%d\n",num1,num2,num1*num2);
printf("%d/%d=%d\n",num1,num2,num1/num2);

return0;
}
:.

??http://cpbook.subeen.com
,
, num1 num2- , , , printf

, num2- 0 printf
+, -, *, / char
:

#include<stdio.h>

intmain()
{
intnum1,num2,value;
charsign;

printf("Pleaseenteranumber:");
scanf("%d",&num1);
printf("Pleaseenteranothernumber:");
scanf("%d",&num2);

value=num1+num2;
sign='+';
printf("%d%c%d=%d\n",num1,sign,num2,value);

value=num1num2;
sign='';
printf("%d%c%d=%d\n",num1,sign,num2,value);
value=num1*num2;
sign='*';
printf("%d%c%d=%d\n",num1,sign,num2,value);

value=num1/num2;
sign='/';
printf("%d%c%d=%d\n",num1,sign,num2,value);

return0;
}
:.

,
( , - ) ,


(comment) //
/* */

#include<stdio.h>

intmain()

??http://cpbook.subeen.com
{
//testprogramcomment1
printf("Hello");
/*WehaveprintedHello,
nowweshallprintWorld.
Notethatthisisamultilinecomment*/
printf("World");//printedworld
return0;
}
:.

, ( - ), ?
, a z, A Z, 0 9 _
( ) () int
7d; ,
sum , y ,


,

??http://cpbook.subeen.com

' '!
-



#include<stdio.h>

intmain()
{
intn;

n=10;

if(n>=0){
printf("Thenumberispositive\n");
}
else{
printf("Thenumberisnegative\n");
}

return0;
}
:.
? n- (: 0, -10, -2, 5, 988 )
n (positive) (negative)
, 'n
, n , n ' if
else if- () (
if- { } )
if- , else- ( )
,

, ? ' '
>= ' '- <=
== (
= ( )
) , != < >
-
if else- if else ,
( )
:

#include<stdio.h>

intmain()
{
intn;
n=10;

??http://cpbook.subeen.com
if(n<0){
printf("Thenumberisnegative\n");
}
else{
printf("Thenumberispositive\n");
}

return0;
}
:.

n , n ; (
n ) n

,

:

#include<stdio.h>

intmain()
{
intn=10;

if(n<0){
printf("Thenumberisnegative\n");
}
elseif(n>0){
printf("Thenumberispositive\n");
}
elseif(n==0){
printf("Thenumberiszero!\n");
}

return0;
}
:.

:
if(n < 0): n

else if(n > 0): , n if(n > 0)

else if(n == 0): n > 0 ?


n


, ,
n-

#include<stdio.h>

intmain()
{

??http://cpbook.subeen.com
intn=10;

if(n<0){
printf("Thenumberisnegative\n");
}
elseif(n>0){
printf("Thenumberispositive\n");
}
else{
printf("Thenumberiszero!\n");
}

return0;
}
:.

if else else if ,
:

#include<stdio.h>

intmain()
{
intnumber=12;

if(number>10){
printf("Thenumberisgreaterthanten\n");
}
return0;
}
:.

#include<stdio.h>

intmain()
{
intn=10;

if(n<30){
printf("nislessthan30.\n");
}
elseif(n<50){
printf("nislessthan50.\n");
}

return0;
}
:.

: n is less than 30. else if(n < 50) if (n < 30) ,

??http://cpbook.subeen.com
else if else ,

#include<stdio.h>

intmain()
{
intn=10;

if(n<30){
printf("nislessthan30.\n");
}
if(n<50){
printf("nislessthan50.\n");
}

return0;
}
:.


2 , ;
(modulus operator) , '%'

: int number;
number- : number = 5;
number 2 : remainder = number % 2;
if- remainder- remainder-
0 1 :

#include<stdio.h>

intmain()
{
intnumber,remainder;

number=5;

remainder=number%2;

if(remainder==0){
printf("Thenumberiseven\n");
}
else{
printf("Thenumberisodd\n");
}

return0;
}
:.

remainder :

??http://cpbook.subeen.com
#include<stdio.h>

intmain()
{
intnumber=9;

if(number%2==0){
printf("Thenumberiseven\n");
}
else{
printf("Thenumberisodd\n");
}

return0;
}
:.

, , ? else

? ,
(*, /, -)

(small letter lower case letter)


(capital letter upper case letter),
character 26 lower case
letter 26 upper case letter- , ,

charch='p';

if(ch=='a')
{
printf(%cislowercase\n,ch);
}
elseif(ch=='A')
{
printf(%cisuppercase\n,ch);
}
elseif(ch=='b')
{
printf(%cislowercase\n,ch);
}
elseif(ch=='B')
{
printf(%cisuppercase\n,ch);
}
elseif(ch=='c')
{
printf(%cislowercase\n,ch);
}
elseif(ch=='C')
{
printf(%cisuppercase\n,ch);
}

??http://cpbook.subeen.com


(AND operator) '&&'

#include<stdio.h>

intmain()
{
charch='W';

if(ch>='a'&&ch<='z'){
printf(%cislowercase\n,ch);
}
if(ch>='A'&&ch<='Z'){
printf(%cisuppercase\n,ch);
}

return0;
}
:.

'&&'- ,
ch >= 'a' && ch <= 'z' &&- ch >= 'a'
ch <= 'z' ,
a- b- , b- c- , c-
d- lower case 'a'-
'z'- A- B- , B- C-
'A' 'Z'- upper case 'A'-
'Z'-
if- else if-
if-

#include<stdio.h>

intmain()
{
charch='k';

if(ch>='a'&&ch<='z'){
printf(%cislowercase\n,ch);
}
elseif(ch>='A'&&ch<='Z'){
printf(%cisuppercase\n,ch);
}

return0;
}
:.

, '&&'-

(OR) '||' ( |) '&&'-


, '||'-

??http://cpbook.subeen.com

?

#include<stdio.h>

intmain()
{
intnum=5;

if(num>=1||num<=10){
printf(yes\n);
}
else{
printf(no\n);
}

return0;
}
:.

yes num- 50 ?

yes num- 50 , (num >= 1) (n <= 10)


'||' ,

vowel consonant,
, vowel a, e, i, o, u
: ch >= 'a' && ch <= 'u' a u
:

if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'){
printf(%cisvowel\n,ch);
}
else{
printf(%cisconsonant\n,ch);
}

??http://cpbook.subeen.com

http://dimikcomputing.com
(Loop)

(condition)

, 1 10 ( )
, :

#include<stdio.h>

intmain()
{
printf(1\n);
printf(2\n);
printf(3\n);
printf(4\n);
printf(5\n);
printf(6\n);
printf(7\n);
printf(8\n);
printf(9\n);
printf(10\n);

return0;
}
:.

??http://cpbook.subeen.com
1 10 printf() :
printf(1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n);

n , 1 n-
n- (n = n + 1 , n++ )
intn=1;
printf(%d\n,n);
n=n+1;
printf(%d\n,n);
n=n+1;
printf(%d\n,n);
n=n+1;
/* */

n 1
printf(%d\n,n);
n=n+1;
:
printf(%d\n,n++);

- , 1 10 1 100, 1000, 10000


? ,


(loop)
,

while for while

#include<stdio.h>

intmain()
{
intn=1;
while(n<=10){
printf(%d\n,n);
n++;
}
return0;
}
:.

! 10- , 1 while


n- n- 1 n- 1 11
n <= 10 ( 11 > 10) ,

??http://cpbook.subeen.com
#include<stdio.h>

intmain()
{
intn=1;
while(n<=10){
printf(%d\n,n);
} here is a logic problem! "}" will be after n++
n++;

return0;
}
:.

1 10 ? ?

int n = 1; n- 1
while n <= 10 n- 10-
n- 1 n- printf(%d\n, n); n- 1 ?
, '}' (
)
, n- ... n- , n <= 10

while

while(1){...} 1 1
, while(1 == 1){...}

,
break

#include<stdio.h>

intmain()
{
intn=1;
while(n<=100){
printf(%d\n,n);
n++;
if(n>10){
break;
}
}
return0;
}
:.

? 1 10 while- n <= 100,


n > 10 , break; ,
break
n- 10 (n+
+;) n- 11 n > 10 , if

??http://cpbook.subeen.com
break break- ,
continue; continue continue-
:

#include<stdio.h>

intmain() LATER
{
intn=0;

while(n<10){
n=n+1;
if(n%2==0){
continue;
}
printf("%d\n",n);
}

return0;
}
:. LATER

1 10- continue
printf("%d\n",n);


5- :
5X1=5
5X2=10
5X3=15
5X4=20
5X5=25
5X6=30
5X7=35
5X8=40
5X9=45
5X10=50

printf :
#include<stdio.h>

intmain()
{
intn=5;
inti=1;

while(i<=10){
printf(%dX%d=%d\n,n,i,n*i);
i=i+1;
}
return0;
}
:.
while
for
5- for

??http://cpbook.subeen.com

:

#include<stdio.h>

intmain()
{
intn=5;
inti;

for(i=1;i<=10;i=i+1){
printf(%dX%d=%d\n,n,i,n*i);
}

return0;
}
:.

for (;)
, i-
1 (while
) i <= 10
for

i <= 10 , i- 1
printf() i = i + 1 (i- ) i <= 10
(i- 2) (printf()) i
<= 10 i- 11

for
, i-

inti=1;
for(;i<=10;i=i+1){
printf(%dX%d=%d\n,n,i,n*i);
}

, :

#include<stdio.h>

intmain()
{
intn=5;
inti=1;

for(;;){
printf(%dX%d=%d\n,n,i,n*i);
i=i+1;
if(i>10){
break;
}
}

??http://cpbook.subeen.com
return0;
}
:.

for 5- (n*i)
? 5 x 3- 5
+ 5 + 5 :

#include<stdio.h>

intmain()
{
intm,n=5;
inti;

m=0;
for(i=1;i<=10;i=i+1){
m=m+n;
printf("%dX%d=%d\n",n,i,m);
}

return0;
}
:.

,
, ,

,

for 1 20
n- 5 1 20
( ?) -

n- 1 20 n-

#include<stdio.h>

intmain()
{
intn,i;

for(n=1;n<=20;n=n+1){
for(i=1;i<=10;i=i+1){
printf(%dX%d=%d\n,n,i,n*i);
}
}

return0;
}
:.

??http://cpbook.subeen.com

for for ,
(nested loop) ,
for for while while for while

1,
2, 3 (permutation)
:

1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1

, ,

#include<stdio.h>

intmain()
{
inta,b,c;
for(a=1;a<=3;a++){
for(b=1;b<=3;b++){
for(c=1;c<=3;c++){
printf("%d,%d,%d\n",a,b,c);
}
}
}
return0;
}
:.

:
1,1,1
1,1,2
1,1,3
1,2,1
1,2,2
1,2,3
1,3,1
1,3,2
1,3,3
2,1,1
2,1,2
2,1,3
2,2,1
2,2,2
2,2,3

??http://cpbook.subeen.com
2,3,1
2,3,2
2,3,3
3,1,1
3,1,2
3,1,3
3,2,1
3,2,2
3,2,3
3,3,1
3,3,2
3,3,3

a- 1 b c- 1 , b c-
a, b c b <=
3- , b != a b <= 3 && b != a b- 3- b-
a- , c <= 3 && c != a && c != b, c- 3-
c- a- c- b-
:

#include<stdio.h>

intmain()
{
inta,b,c;

for(a=1;a<=3;a++){
for(b=1;b<=3&&b!=a;b++){
for(c=1;c<=3&&c!=a&&c!=b;c++){
printf("%d,%d,%d\n",a,b,c);
}
}
}

return0;
}
:.

?
3, 2, 1

!
?

a- 1 a <= 3 b- 1 b <=
3 b != a a b- , 1
a- 1 (a++) a <= 3 (a- 2) b- 1 b <= 3
c- 1 c <=3 , c !=a
b != a
c !=b ( 1)

a, b c- a-
3, b- 2 c- 1, : 3, 2, 1

??http://cpbook.subeen.com
b- a-

:
for (b = 1; b <= 3; b++) {
if (b != a) { /* b- a- */
for (c = 1; c <= 3; c++) {
if (c != a && c != b) { /*c- a- c- b-
*/
printf ("%d, %d, %d\n", a, b, c);
}
}
}
}

#include<stdio.h>

intmain(){
inta,b,c;
for(a=1;a<=3;a++){
for(b=1;b<=3;b++){
if(b!=a){
for(c=1;c<=3;c++){
if(c!=b&&c!=a){
printf("%d,%d,%d\n",a,b,c);
}
}
}
}
}

return0;
}
:.

1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1

,
#include<stdio.h>

intmain()
{
inta,b,c;
for(a=1;a<=3;a++){
for(b=1;b<=3;b++){

??http://cpbook.subeen.com
for(c=1;c<=3;c++){
if(b!=a&&c!=a&&c!=b){
printf("%d,%d,%d\n",a,b,c);
}
}
}
}
return0;
}
:.

a, b, c ,
! , ,
, (run time)


, -

) x + y = 15, x y = 5 x y- ?

2x = 20, x = 10 , 2y = 10, y = 5
x + y x y- , x y-

) 4x + 5y = 14, 5x + 6y = 17 x y- ?

:
a1x + b1y = c1, a2x + b2y = c2
(substitution) (determinant)
,
x = (b2c1 b1c2) / (a1b2 a2b1) y = (a1c2 a2c1) / (a1b2 a2b1) a1, a2, b1, b2, c1, c2-
x y-

, a1, a2, b1, b2, c1, c2


x y-

, :
#include<stdio.h>

intmain()
{
doublex,y,x_plus_y,x_minus_y;

printf("Enterthevalueofx+y:");
scanf("%lf",&x_plus_y);

printf("Enterthevalueofxy:");
scanf("%lf",&x_minus_y);

x=(x_plus_y+x_minus_y)/2;
y=(x_plus_yx_minus_y)/2;

printf("x=%0.2lf,y=%0.2lf\n",x,y);

return0;
}
:.

int double

??http://cpbook.subeen.com
#include<stdio.h>

intmain()
{
doublea1,a2,b1,b2,c1,c2,x,y;

printf("a1=");
scanf("%lf",&a1);
printf("a2=");
scanf("%lf",&a2);
printf("b1=");
scanf("%lf",&b1);
printf("b2=");
scanf("%lf",&b2);
printf("c1=");
scanf("%lf",&c1);
printf("c2=");
scanf("%lf",&c2);

x=(b2*c1b1*c2)/(a1*b2a2*b1);
y=(a1*c2a2*c1)/(a1*b2a2*b1);

printf("x=%0.2lf,y=%0.2lf\n",x,y);

return0;
}
:.
! (a1*b2a2*b1) (x-
, y- ) ,
(a1*b2a2*b1)- ,
,

#include<stdio.h>

intmain()
{
doublea1,a2,b1,b2,c1,c2,d,x,y;

printf("a1=");
scanf("%lf",&a1);
printf("a2=");
scanf("%lf",&a2);
printf("b1=");
scanf("%lf",&b1);
printf("b2=");
scanf("%lf",&b2);
printf("c1=");
scanf("%lf",&c1);
printf("c2=");
scanf("%lf",&c2);

d=a1*b2a2*b1;

??http://cpbook.subeen.com
if((int)d==0){
printf("Valueofxandycannotbedetermined.\n");
}
else{
x=(b2*c1b1*c2)/d;
y=(a1*c2a2*c1)/d;

printf("x=%0.2lf,y=%0.2lf\n",x,y);
}

return0;
}
:.

if- (int)d==0 d ( double


)- 0-
: if (d == 0.0) , - -

?
,

) 35% -
, ?
, 10000 + 10000 * 35 / 100 -
:

#include<stdio.h>

intmain()
{
doubleloan_amount,interest_rate,number_of_years,total_amount,
monthly_amount;

printf("Entertheloanamount:");
scanf("%lf",&loan_amount);
printf("Entertheinterestrate:");
scanf("%lf",&interest_rate);
printf("Numberofyears:");
scanf("%lf",&number_of_years);

total_amount=loan_amount+loan_amount*interest_rate/100.00;
monthly_amount=total_amount/(number_of_years*12);

printf("Totalamount:%0.2lf\n",total_amount);
printf("Monthlyamount:%0.2lf\n",monthly_amount);

return0;
}
:.

35%

??http://cpbook.subeen.com
35% 10000 + 10000 * 35 * 5 / 100

u (initial velocity) a (acceleration) ( a ,


) t v 2t ? (
, 10071 )

2t v x 2t

- :
v = u + at
s = ut + 0.5 at2 ( s t )
2t
u x 2t + 0.5 x a x (2t)2 = u x 2t + 0.5 x a x 4t2 = u x 2t + a x 2t2 = 2t (u + at) = 2tv
, , v t- , 2t

) 1 + 2 + 3 + + 998 + 999 + 1000 ?

, , 1000 x 1001 / 2
,
#include<stdio.h>

intmain()
{
intn,sum;

scanf("%d",&n);

sum=(n*(n+1))/2;

printf("Summationis%d\n",sum);

return0;
}
:.

#include<stdio.h>

intmain()
{
inti,n,sum;

scanf("%d",&n);

for(i=1,sum=0;i<=n;i++){
sum=sum+i;

??http://cpbook.subeen.com
}

printf("Summationis%d\n",sum);

return0;
}
:.

,
,

( ) , , n-
( ) n- , ,
sum ( )
n n-
,

) (Celsius) (Farenheit)

: F = (C 1.8) + 32

#include<stdio.h>

intmain()
{
doublecelsius,farenheit;
printf("Enterthetemperatureincelsius:");
scanf("%lf",&celsius);

farenheit=1.8*celsius+32;

printf("Temperatureinfarenheitis:%lf\n",farenheit);

return0;
}
:.

) (GCD Greatest Common Divisor HCF Highest Common Factor)


(LCM Least Common Multiple)

,
, a b , x x-
(5 10- - 5- ) a b, x
(a % x == 0 b % x == 0) a b
, x- x-
, x- 1 , x a b
? :

#include<stdio.h>

??http://cpbook.subeen.com
intmain()
{
inta,b,x,gcd;

scanf("%d%d",&a,&b);

if(a<b){
x=a;
}
else{
x=b;
}

for(;x>=1;x){
if(a%x==0&&b%x==0){
gcd=x;
break;
}
}

printf("GCDis%d\n",gcd);

return0;
}
:.

gcd
( break ) break

(efficient) ,
(co-prime) 1
, 1

(division algorithm)

:
a 0- - a
a b- = b a % b-

, a- b b- a%b , b-
b- a ( a- , b-
a- )

#include<stdio.h>

intmain()
{
inta,b,t,x,gcd;

scanf("%d%d",&a,&b);

if(a==0)gcd=a;

??http://cpbook.subeen.com
elseif(b==0)gcd=b;
else{
while(b!=0){
t=b;
b=a%b;
a=t;
}
gcd=a;
}

printf("GCDis%d\n",gcd);

return0;
}
:.

,
,

x =

- ,
,
100 50%, 25% 25%

:

#include<stdio.h>

intmain()
{
intft_marks,st_marks,final_marks;
doubletotal_marks;

ft_marks=80;
st_marks=74;
final_marks=97;

total_marks=ft_marks/4.0+st_marks/4.0+final_marks/2.0;
printf("%0.0lf\n",total_marks);

return0;
}
:.

87 ( total_marks = ft_marks / 4.0 + st_marks / 4.0 + final_marks / 2.0;

??http://cpbook.subeen.com
total_marks = ft_marks / 4 + st_marks / 4 + final_marks / 2; 86
? ?)


! ,

:

#include<stdio.h>

intmain()
{
int ft_marks_1, st_marks_1, final_marks_1, ft_marks_2, st_marks_2,
final_marks_2,ft_marks_3,st_marks_3,final_marks_3,

, ? ?
160
! (Array)
, C

,
char char


int ara[10]; , ara,
ara[2],
ara[0] (, ara[1] ), ara[1],
ara[9] , ara[i] i+1

#include<stdio.h>

intmain()
{
intara[5]={10,20,30,40,50};

printf("Firstelement:%d\n",ara[0]);
printf("Thirdelement:%d\n",ara[2]);

return0;
}
:.

??http://cpbook.subeen.com
#include<stdio.h>

intmain()
{
intara[5]={6,7,4,6,9};

printf("%d\n",ara[1]);
printf("%d\n",ara[5]);
printf("%d\n",ara[100]);

return0;
}
:.

?
(garbage) -1, 5, 100 5
0 4

, ? (ara[0]),
(ara[1]), (ara[2])

#include<stdio.h>

intmain()
{
intara[10]={10,20,30,40,50,60,70,80,90,100};
inti;

for(i=0;i<10;i++){
printf("%dthelementis:%d\n",i+1,ara[i]);
}

return0;
}
:.

? , index 9 0

,
, , , ..
,

#include<stdio.h>

intmain()
{
intara[]={10,20,30,40,50,60,70,80,90,100};
intara2[10];
inti,j;

??http://cpbook.subeen.com
for(i=0,j=9;i<10;i++,j){
ara2[j]=ara[i];
}

for(i=0;i<10;i++){
ara[i]=ara2[i];
}

for(i=0;i<10;i++){
printf("%d\n",ara[i]);
}

return0;
}
:.

, -
ara
ara2



int temp;
temp = ara[9];
ara[9] = ara[0];
ara[0] = temp;

temp = ara[8];
ara[8] = ara[1];
ara[1] = temp;
:

#include<stdio.h>

intmain()
{
intara[]={10,20,30,40,50,60,70,80,90,100};
inti,j,temp;

for(i=0,j=9;i<10;i++,j){
temp=ara[j];
ara[j]=ara[i];
ara[i]=temp;
}

for(i=0;i<10;i++){
printf("%d\n",ara[i]);
}

return0;
}
:.

??http://cpbook.subeen.com
? ?

10
20
30
40
50
60
70
80
90
100

! , (bug),
, (debug) (
)

,
,

intft_marks[40],st_marks[40],final_marks[40];
doubletotal_marks[40];
1 ( index 0 ) total_marks[34]-
? 35 n total_marks[n-1]
:

#include<stdio.h>

intmain()
{
intft_marks[40]={83,86,97,95,93,95,86,52,49,41,42,47,90,
59,63,86,40,46,92,56,51,48,67,49,42,90,42,83,47,95,69,82,
82,58,69,67,53,56,71,62},
st_marks[40]={86,97,95,93,95,86,52,49,41,42,47,90,59,63,
86,40,46,92,56,51,48,67,49,42,90,42,83,47,95,69,82,82,58,
69,67,53,56,71,62,49},
final_marks[40]={87,64,91,43,89,66,58,73,99,81,100,64,55,
69,85,81,80,67,88,71,62,78,58,66,98,75,86,90,80,85,100,64,
55,69,85,81,80,67,88,71};

inti;
doubletotal_marks[40];

for(i=0;i<40;i++){
total_marks[i]=ft_marks[i]/4.0+st_marks[i]/4.0+
final_marks[i]/2.0;
}

for(i=1;i<=40;i++){
printf("RollNO:%d\tTotalMarks:%0.0lf\n",i,total_marks[i1]);
}

??http://cpbook.subeen.com
return0;
}
:.

, ! printf \t , (Tab)
( )
\t ,


50 , 51

,
50- 50
100 total_marks
, 50 , 51 100 50 100
total_marks
for(marks = 50; marks <= 100; marks++) { marks- 50, 51,
100
count = 0; 'marks' marks-
total_marks marks- , count-
(marks) , count-
for(i = 0; i < 40; i++) {
if(total_marks[i] == marks) {
count++;
}
}
printf("Marks: %d Count: %d\n", marks, count); marks (count)

}

#include<stdio.h>

intmain()
{
intmarks,i,count;
inttotal_marks[]={86,78,94,68,92,78,64,62,72,61,72,66,65,
65,80,72,62,68,81,62,56,68,58,56,82,70,74,78,76,84,88,73,
62,66,76,70,67,65,77,63};

for(marks=50;marks<=100;marks++){
count=0;
for(i=0;i<40;i++){
if(total_marks[i]==marks){
count++;
}
}
printf("Marks:%dCount:%d\n",marks,count);
}

??http://cpbook.subeen.com

return0;
}
:.

- if-
(total_marks[i] == marks) ? 51
40 51 x 40 = 2040
:

#include<stdio.h>

intmain()
{
inti;
inttotal_marks[]={86,78,94,68,92,78,64,62,72,61,72,66,65,
65,80,72,62,68,81,62,56,68,58,56,82,70,74,78,76,84,88,73,
62,66,76,70,67,65,77,63};
intmarks_count[101];

for(i=0;i<101;i++){
marks_count[i]=0;
}

for(i=0;i<40;i++){
marks_count[total_marks[i]]++;
}

for(i=50;i<=100;i++){
printf("Marks:%dCount:%d\n",i,marks_count[i]);
}

return0;
}
:.

, marks_count
marks_count[n] n total_marks- 0 100-
101
int marks_count[101];
, , marks_count 0 :
for(i = 0; i < 101; i++) {
marks_count[i] = 0;
}

total_marks marks_count
for(i = 0; i < 40; i++) {
marks_count[total_marks[i]]++;
}
?

i- 0, total_marks[i] total_marks[0], 86 marks_count


( marks_count[86]) ,
marks_count[total_marks[i]]- marks_count[total_marks[i]]++;

??http://cpbook.subeen.com
:
t_m = total_marks[i];
marks_count[t_m]++;

marks_count[total_marks[i]]++;
marks_count

#include<stdio.h>

intmain()
{
inti,j;
inttotal_marks[]={6,7,4,6,9,7,6,2,4,3,4,1};
intmarks_count[11];

for(i=0;i<11;i++){
marks_count[i]=0;
}

for(i=0;i<12;i++){
marks_count[total_marks[i]]++;

for(j=0;j<=10;j++){
printf("%d",marks_count[j]);
}
printf("\n");
}

return0;
}
:.

,

?

??http://cpbook.subeen.com
, ,
25 -
01622624182, , , (
),

01. Go to your bKash Mobile Menu by dialing *247#


02. Choose Payment
03. Enter the Merchant bKash Account Number you want to pay to (01622624182)
04. Enter the amount you want to pay (25)
05. Enter a reference against your payment (cpbook pdf)
06. Enter the Counter Number (enter 0)
07. Now enter your bKash Mobile Menu PIN to confirm

) *247#
) ''
) 01622624182
) ( )
) cpbook pdf
)
) (PIN)

( )

?
?
! ,


printf, scanf , main
,

printf
scanf, getchar printf ,
printf , stdio.h
(header) ( printf, scanf
) (#include <stdio.h>) - string.h
, printf ,
!

, main , ?
main ,
main
,
:

??http://cpbook.subeen.com
return_type function_name (parameters) {
function_body

return value
}

return_type: , int, double


void ,
,

function_name:


square_root sqrt beautiful ,

parameters: -
strlen - (
?)


, getchar() main() (,)
function_body:
return value: ,
sqrt()
x , return x;
?
int root = sqrt(25);

sqrt 25- root

sin, cos, tan sin 300-


0.5 sin ,
sine ( sin)-

#include<stdio.h>

intmain()
{
doublea,b,c;
a=2.5;
b=2.5;
c=a+b;
printf(%lf\nc);

return0;
}
:.

? 5.000000

??http://cpbook.subeen.com
main

#include<stdio.h>

intadd(intnum1,intnum2)
{
doublesum=num1+num2;
returnsum;
}

intmain()
{
doublea,b,c;
a=b=2.5;
c=add(a,b);
printf(%lf\n,c);

return0;
}
:.

? 4.000000! num1 num2 int


, double 2.5 2 (
?) :

intadd(doublenum1,doublenum2){
doublesum=num1+num2;
returnsum;
}
? 5.000000 , ! , a, b-
a = 2.8; b = 2.7; ? 5.500000? (2.8 + 2.7 = 5.5)
? 5.000000 ?

, int, num1 num2


sum- 5.5 double
:
#include<stdio.h>

doubleadd(doublen1,doublen2)
{
doublesum=n1+n2;
returnsum;
}
intmain()
{
doublea,b,c;
a=2.8;
b=2.7;
c=add(a,b);
printf("%lf\n",c);

return0;
}
:.

??http://cpbook.subeen.com
add main :

#include<stdio.h>

intmain()
{
doublea=2.8,b=2.7,c;

c=add(a,b);
printf("%lf\n",c);

return0;
}

doubleadd(doublen1,doublen2)
{
doublesum=n1+n2;
returnsum;
}
:.

, : error: add was not declared in this scope,


add , main
add (prototype) :

double add(double n1, double n2);


:
return_type function_name (parameters) ;


,
:

#include<stdio.h>

doubleadd(doublex,doubley);

intmain()
{
doublea=2.8,b=2.7,c;

c=add(a,b);
printf("%lf\n",c);

return0;
}

doubleadd(doublen1,doublen2)
{
doublesum=n1+n2;
returnsum;
}
:.

??http://cpbook.subeen.com
-

#include<stdio.h>

inttest_function(intx)
{
inty=x;
x=2*y;
return(x*y);
}

intmain()
{
intx=10,y=20,z=30;
z=test_function(x);
printf(%d%d%d\n,x,y,z);

return0;
}
:.

? ,
:
20 10 200 ( x = 20, y = 10, z = 200)?
x, y- test_function- x- 10 ,
y- y- 10 x- 2 * y 20
x * y ( , 20 * 10 200) z- 200
, : 10 20 200 ( x = 10, y = 20, z = 200) ? z-
, 200 z- , x y-
test_function- x, y- main x, y- -
(local variable) main x, y-
test_function x, y-
-

, ,
(global)
:

#include <stdio.h>

double pi = 3.14;

void my_fnc() {
pi = 3.1416; /* pi- */
return; /* void return; */
}

int main() {
printf(%lf\n, pi); /* pi- 3.14 */
my_fnc();
printf(%lf\n, pi); /* pi- 3.1416 my_fnc */

??http://cpbook.subeen.com
return 0;
}

my_fnc pi (double pi;),


pi-



, ?
int find_max(int ara[], int n) { /* ,
,
, int ara[11] */

int max = ara[0]; /*


max max-
max- max */

int i;

for(i = 1; i < n; i++) {


if (ara[i] > max) {
max = ara[i]; /* ara[i] max- max- ara[i]- */
}
}
return max; /* */
}

? ,
? :

#include<stdio.h>

intfind_max(intara[],intn);

intmain()
{
intara[]={100,0,53,22,83,23,89,132,201,3,85};
intn=11;
intmax=find_max(ara,n);
printf(%d\n,max);

return0;
}

intfind_max(intara[],intn)
{
intmax=ara[0];
inti;

for(i=1;i<n;i++){
if(ara[i]>max){
max=ara[i];
}

??http://cpbook.subeen.com
}

returnmax;
}
:.

find_min find_sum,
find_average

(pass, )
,
( )
:

#include<stdio.h>

voidtest_function(intara[])
{
ara[0]=100;
return;
}
intmain()
{
intara[]={1,2,3,4,5};
printf(%d\n,ara[0]);
test_function(ara);
printf(%d\n,ara[0]);

return0;

}
:.

? printf 1 , printf
? test_function- 100
, ara[0]- 100, -, 1

100,

,

??http://cpbook.subeen.com

,


'?':
N(),?

(1100,101000,1000100000)
, 1 1000
'N?'(1?2?...999,
1000?)

,1100050:
)500,?
)250,?
)125,?
)62,?
)31,?
)46,?
)54,?
)50,?
!

?
1100015001250,1125,162,3162,
4662,4654

??http://cpbook.subeen.com
:
(low,high,N):(,(low),(high)
(N))
1:mid=(low+high)/2
2:midN5
3:N,mid,low=mid+1.1
4:N,mid,high=mid1.1
5:(mid)

intara[]={1,4,6,8,9,11,14,15,20,25,3383,87,97,99,100};

lowhigh?low=1high=100?
,
ara 0 15

low_indx=0;
high_indx=15;
97
num=97;

,num ara ?

,
()

while(1){
mid_indx=(low_indx+high_indx)/2;

if(num==ara[mid_indx]){
/*numara[mid_indx],*/
break;
}

if(num<ara[mid_indx]){
/*numara[mid_indx],low_indxmid_indx1*/
high_indx=mid_indx1;
}
else{
/*numara[mid_indx],mid_indx+1high_indx*/
low_indx=mid_indx+1;
}
}


,
while(1)1ara
, ara ?

low high low high


,lowhigh,lowhigh

??http://cpbook.subeen.com
low<=high low>high,
,ara[mid_indx]
:

#include<stdio.h>

intmain()
{
intara[]={1,4,6,8,9,11,14,15,20,25,3383,87,97,99,100};
intlow_indx=0;
inthigh_indx=15;
intmid_indx;
intnum=97;

while(low_indx<=high_indx){
mid_indx=(low_indx+high_indx)/2;
if(num==ara[mid_indx]){
break;
}
if(num<ara[mid_indx]){
high_indx=mid_indx1;
}
else{
low_indx=mid_indx+1;
}
}
if(low_indx>high_indx){
printf("%disnotinthearray\n",num);
}
else{
printf("%disfoundinthearray.Itisthe%dthelementofthe
array.\n",ara[mid_indx],mid_indx);
}

return0;
}
:.

??http://cpbook.subeen.com
(string)

string , ,

- ,

character string
- char

charcountry[11]={'B','a','n','g','l','a','d','e','s','h','\0'};

charcountry[]={'B','a','n','g','l','a','d','e','s','h','\0'};

charcountry[]=Bangladesh;

char*country=Bangladesh;

Null character ('\0')


,
Null character
(pointer)

??http://cpbook.subeen.com

#include<stdio.h>

intmain()
{
char country[] = {'B', 'a', 'n', 'g', 'l', 'a', 'd', 'e', 's', 'h',
'\0'};

printf("%s\n",country);

return0;
}
:.

printf- %s '\0'

#include<stdio.h>

intmain()
{
charcountry[]={'B','a','n','g','l','a','d','e','s','h','',
'i','s','','m','y','','c','o','u','n','t','r','y'};

printf("%s\n",country);

return0;
}
:.

? ?

#include<stdio.h>

intmain()
{
char country[] = {'B', 'a', 'n', 'g', 'l', 'a', 'd', 'e', 's', 'h',
'\0','i','s','','m','y','','c','o','u','n','t','r','y'};

printf("%s\n",country);

return0;
}
:.


'\0'
( capital letter
uppercase character)
, 'A'- 65, 'B'- 66, 'C'- 67...
'Z'- 90 'a' 97, 'b' 98 ... 'z' 122
:

??http://cpbook.subeen.com
if(ch >= 'A' && ch <= 'Z') if(ch >= 65 && ch <= 90)

: if(ch >= 'a' && ch <= 'z') if(ch >= 97 && ch <= 122)

, ?
:

char ch = 'c';
ch = 'A' + (ch 'a');

, ch 'a' 'c' 'a' ( 99 97 )


2 'A'- 2 'C' !

#include<stdio.h>

intmain()
{
charcountry[]={'B','a','n','g','l','a','d','e','s','h'};

inti,length;

printf("%s\n",country);

length=10;

for(i=0;i<length;i++){
if(country[i]>=97&&country[i]<=122){
country[i]='A'+(country[i]'a');
}
}

printf("%s\n",country);

return0;
}
:.

uppercase lowercase-

( )
length = 10
!
Null character ('\0') , '\0'

#include<stdio.h>

intstring_length(charstr[])
{
inti,length=0;

??http://cpbook.subeen.com

for(i=0;str[i]!='\0';i++){
length++;
}

returnlength;
}

intmain()
{
charcountry[100];

intlength;

while(1==scanf("%s",country)){
length=string_length(country);
printf("length:%d\n",length);
}

return0;
}
:.

scanf
%s scanf ,
, scanf
: scanf(%d %d, &n1, &n2); : value = scanf(%d %d, &n1,
&n2); value- 2 while(1==scanf("%s",country))
, country- scanf , 1 ,
(1 == 1),

country- & &country


%s (: , )
, scanf , this is scanf
this , scanf , is
gets :

#include<stdio.h>

intmain()
{
charara[100];

while(NULL!=gets(ara)){
printf("%s\n",ara);
}

return0;
}
:.

ctrl + z ( - ctrl z ) , ctrl + d ctrl +


z ctrl + d gets NULL char ara[100];

??http://cpbook.subeen.com
100

string_length
:

intstring_length(charstr[])
{
inti;

for(i=0;str[i]!='\0';i++);

returni;
}

string_length for while



concatenate bangla
desh bangladesh

: char str1[] = "bangla", str2[] = "desh", str3[12];


str3 bangladesh :
str3 = str1 + str2;

''- str1- str3


, str2- str3

#include<stdio.h>
intmain()
{
charstr1[]="bangla",str2[]="desh",str3[12];

inti,j,length1=6,length2=4;

for(i=0,j=0;i<length1;i++,j++){
str3[j]=str1[i];
}

for(i=0,j=0;i<length2;i++,j++){
str3[j]=str2[i];
}

str3[j]='\0';

printf("%s\n",str3);

return0;
}
:.

? bangladesh desh

??http://cpbook.subeen.com
for(i=0,j=0;i<length1;i++,j++){
str3[j]=str1[i];
}

i- 0 i str1- j
str3- j- 0 str1- str3 i
j- 1 (i++, j++)
i j 6
str2 str3- str2- i ,
0 j- 0 j- 0
str2- (0 ) str3- (0 ) ,
str2- str3- j- 0
:

for(i=0;i<length2;i++,j++){
str3[j]=str2[i];
}


str3- '\0' (str3[j] = '\0';)
,

, ,
>, <, >=, <=, == ,
,
(alphabeticalordering)
- ? ,

'aaa'- 'aab' 'ba' 'ca'- 'ca'


string_compare()
1 , -1 0

char

intstring_compare(chara[],charb[])
{

a- b- , a- b-
a- b- ,
a, b- -1 a-
b- , 1 a, b-
? 0

intstring_compare(chara[],charb[])
{
inti,j;

for(i=0;a[i]!='\0'&&b[i]!='\0';i++){
if(a[i]<b[i]){
return1;

??http://cpbook.subeen.com
}
if(a[i]>b[i]){
return1;
}
}

if(string_length(a)==string_length(b)){
return0;
}

if(string_length(a)<string_length(b)){
return1;
}

if(string_length(a)>string_length(b)){
return1;
}
}

,
string.h - (: strcmp, strlen, strcpy
) ,
,

( )
1000
(punctuation)


, ? , scanf(%s)
gets() ? ,
'a' 'z', 'A' 'Z' '0' '9'

, ?-
is_word_started 0 ,
1 0 (is_word_started-
1) 'a' 'z' 'A' 'Z', '0' '9' ,
,

#include<stdio.h>
#include<string.h>

intmain()
{
chars[1002],word[100];
inti,j,length,is_word_started;

gets(s);

length=strlen(s);

??http://cpbook.subeen.com
is_word_started=0;

for(i=0,j=0;i<length;i++){
if(s[i]>='a'&&s[i]<='z'){
if(is_word_started==0){
is_word_started=1;
word[j]='A'+s[i]'a';//firstcharacteriscapital
j++;
}
else{
word[j]=s[i];
j++;
}
}
elseif(s[i]>='A'&&s[i]<='Z'){
if(is_word_started==0){
is_word_started=1;
}
word[j]=s[i];
j++;
}
elseif(s[i]>='0'&&s[i]<='9'){
if(is_word_started==0){
is_word_started=1;
}
word[j]=s[i];
j++;
}
else{
if(is_word_started==1){
is_word_started=0;
word[j]='\0';
printf("%s\n",word);
j=0;
}
}
}

return0;
}
:.

? , ,
gets() (warning)
,

: This is a test. ?
:
This
Is
A

! test ?
test-

??http://cpbook.subeen.com
strlen - string.h
include s- word
i = 0 length s-

if(s[i]>='a'&&s[i]<='z')

:if(is_word_started==0)
, is_word_started- 1 word[j]
s[i]- j-

elseif(s[i]>='A'&&s[i]<='Z')elseif(s[i]>='0'&&s[i]<='9')
s[i] word[j]
:

elseif((s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))

else- if else if- s[i]-


word- word , word
word
else{
if(is_word_started==1){
is_word_started=0;
word[j]='\0';
printf("%s\n",word);
j=0;
}
}

test- ? (
test )

, word !

#include<stdio.h>
#include<string.h>

intmain()
{
chars[1002],ch;
inti,length,is_word_started;

gets(s);
length=strlen(s);
is_word_started=0;

for(i=0;i<length;i++){
if(s[i]>='a'&&s[i]<='z'){
if(is_word_started==0){
is_word_started=1;
ch='A'+s[i]'a';
printf("%c",ch);
}

??http://cpbook.subeen.com
else{
printf("%c",s[i]);
}
}
elseif((s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<=
'9')){
if(is_word_started==0){
is_word_started=1;
}
printf("%c",s[i]);
}
else{
if(is_word_started==1){
is_word_started=0;
printf("\n");
}
}
}

printf("\n");

return0;
}
:.

:
This is test number 9.9
-

??http://cpbook.subeen.com

(Prime Number) ,

,

1- 1
-

#include<stdio.h>

intis_prime(intn)
{
inti;

if(n<2){
return0;
}

for(i=2;i<n;i++){
if(n%i==0){
return0;
}
}

return1;
}
intmain()
{
intn;

while(1){
printf("Pleaseenteranumber(enter0toexit):");
scanf("%d",&n);
if(n==0){
break;
}
if(1==is_prime(n)){
printf("%disaprimenumber.\n",n);
}
else{
printf("%disnotaprimenumber.\n",n);
}
}

return0;
}
:.

n n 2
n-1 n
, 0
n , n

??http://cpbook.subeen.com
1 !

- (efficient)
2147483647
2147483647 2 2147483646

2 n-1 2 n/2

2 ,
2 (4, 6, 8, )

intis_prime(intn)
{
inti;

if(n<2){
return0;
}

if(n==2){
return1;
}

if(n%2==0){
return0;
}

for(i=3;i<=n/2;i=i+2){
if(n%i==0){
return0;
}
}

return1;
}

n- 2 2 n
n , n , 2
3 n / 2 n
2147483647


,
n- n / 2 n-
n = p x q , p q n-
math.h sqrt()

??http://cpbook.subeen.com
#include<stdio.h>
#include<math.h>

intis_prime(intn)
{
inti,root;

if(n==2){
return1;
}

if(n%2==0){
return0;
}

root=sqrt(n);

for(i=3;i<=root;i=i+2){
if(n%i==0){
return0;
}
}

return1;
}

intmain()
{
intn,m;

while(1){
printf("Pleaseenteranumber(enter0toexit):");
scanf("%d",&n);

if(n==0){
break;
}
if(1==is_prime(n)){
printf("%disaprimenumber.\n",n);
}
else{
printf("%disnotaprimenumber.\n",n);
}
}

return0;
}
:.

(
)

?
, (Eratosthenes)
- (Sieve of Eratosthenes)

??http://cpbook.subeen.com
, 2 40 :
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 , 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40.
, 2 2- (2 , 2- )
:
2, 3, 5, 7, 9, 11, 13, 15, 17, 19 , 21, 23, 25, 27, 29, 31, 33, 35, 37, 39.
3-
2, 3, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37.
5-
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37.
7 37-
7-
7- ?
7- 14, 21, 28, 35 7-
7-

, ara
, n- ( ) ara[n]
ara[n]- 1 , n ara[n]- 0 n
:
: , n 1
: 1 1,
: 2 m ,
(0) m- m- n-

#include<stdio.h>
#include<math.h>

constintsize=40;
intara[size];

voidprint_ara()
{
inti;

for(i=2;i<size;i++){
printf("%4d",ara[i]);
}
printf("\n");
for(i=2;i<size;i++){
printf("");
}
printf("\n");
for(i=2;i<size;i++){
printf("%4d",i);
}
printf("\n\n\n");
}

voidsieve()

??http://cpbook.subeen.com
{
inti,j,root;

for(i=2;i<size;i++){
ara[i]=1;
}

root=sqrt(size);
print_ara();
for(i=2;i<=root;i++){
if(ara[i]==1){
for(j=2;i*j<=size;j++){
ara[i*j]=0;
}
print_ara();
}
}
}

intis_prime(intn)
{
inti;

if(n<2){
return0;
}

returnara[n];
}

intmain()
{
intn,m;

sieve();

while(1){
printf("Pleaseenteranumber(enter0toexit):");
scanf("%d",&n);

if(n==0){
break;
}
if(n>=size){
printf("Thenumbershouldbelessthan%d\n",size);
continue;
}

if(1==is_prime(n)){
printf("%disaprimenumber.\n",n);
}
else{
printf("%disnotaprimenumber.\n",n);
}
}

??http://cpbook.subeen.com
return0;
}
:.

, print_ara()
sieve() , ,
n ara[n]- , 1 n , 0 n
size-
(fast) ? ?
, 100 , 100
' '
n- size- ,
n- 100000000 ( ) 10000
sieve ? , ,

,

, 0 1
sieve


!

??http://cpbook.subeen.com

?
-

, ,

, -
-
,

,
- :

Roll: 1 Roll: 2 Roll: 3 Roll: 4 Roll: 5 Roll: 6 Roll: 7 Roll: 8 Roll: 9 Roll: 10
First terminal exam 80 70 92 78 58 83 85 66 99 81
Second terminal exam 75 67 55 100 91 84 79 61 90 97
Final exam 98 67 75 89 81 83 80 90 88 77
Total marks

Total Marks , 25%,


25% 50% ,
4 (row) 10 , -
, - , - -
2-D ( )

2-D : data type array name [number of rows][number of columns];

marks 2-D , : int marks[4][10];

marks[2] marks[3]
, marks[0], marks[1],
marks[0][0] - , marks[0][1] - , marks[0][5]
- , marks[1][0] - , marks[2][3] - ,

, 10 ? marks[0][0]
?

marks[0][0]- 1- marks[1][9]- 10-


:

int marks[4][10] = {{80, 70, 92, 78, 58, 83, 85, 66, 99, 81}, {75, 67, 55, 100, 91, 84, 79, 61, 90, 97}, {98,
67, 75, 89, 81, 83, 80, 90, 88, 77}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};

marks[0]
, marks[1]- , marks[2]-
marks[3] ( , 0 )

??http://cpbook.subeen.com
#include<stdio.h>

intmain()
{
intmarks[4][10]={{80,70,92,78,58,83,85,66,99,81},{75,67,
55,100,91,84,79,61,90,97},{98,67,75,89,81,83,80,90,88,77},
{0,0,0,0,0,0,0,0,0,0}};

intcol;

for(col=0;col<10;col++){
marks[3][col]=marks[0][col]/4.0+marks[1][col]/4.0+marks[2]
[col]/2.0;
printf("RollNO:%dTotalMarks:%d\n",col+1,marks[3][col]);
}

return0;
}
:.

intmarks[4][10];
inti,j;

for(i=0;i<4;i++){
for(j=0;j<10;j++){
scanf(%d,&ara[i][j]);
}
}


-

i = 0, - j = 0 9 , i = 1 (
)- j = 0 9 ( )

1 10 2-D
-, - -
? ,
,

#include<stdio.h>

intmain()
{
intnamta[10][10];

introw,col;

for(row=0;row<10;row++){
for(col=0;col<10;col++){
namta[row][col]=(row+1)*(col+1);
}
}

??http://cpbook.subeen.com
for(row=0;row<10;row++){
for(col=0;col<10;col++){
printf("%dx%d=%d\n",(row+1),(col+1),namta[row][col]);
}
printf("\n");
}

return0;
}
:.

- ,

namta
,
, ,
, , , ? char type
: char country[] = Bangladesh; 2-D
? ?
, 100 ,
100 ,

#include<stdio.h>

intmain()
{
charsaarc[7][100]={"Bangladesh","India","Pakistan","SriLanka",
"Nepal","Bhutan","Maldives"};

introw;

for(row=0;row<7;row++){
printf("%s\n",saarc[row]);
}

return0;
}
:.

, saarc[3][3], saarc[0][5] saarc[5][0]


? ,
, :

#include<stdio.h>
#include<string.h>

intmain()
{
charsaarc[7][100]={"Bangladesh","India","Pakistan","SriLanka",
"Nepal","Bhutan","Maldives"};

introw,col,name_length;

??http://cpbook.subeen.com
for(row=0;row<7;row++){
name_length=strlen(saarc[row]);
for(col=0;col<name_length;col++){
printf("%c",saarc[row][col]);
}
printf("\n");
}

return0;
}
:.

#include<stdio.h>
#include<string.h>

intmain()
{
charsaarc[7][100]={"Bangladesh","India","Pakistan","SriLanka",
"Nepal","Bhutan","Maldives"};

introw,col,name_length;

for(row=0;row<7;row++){
name_length=strlen(saarc[row]);
for(col=0;col<name_length;col++){
printf("(%d,%d)=%c,",row,col,saarc[row][col]);
}
printf("\n");
}

return0;
}
:.

6 4 7 8 9
3 7 1 9 9
8 6 4 2 7
2 4 2 5 9
4 1 6 7 3

2-D -

:
Sumofrow1:34
Sumofrow2:29
Sumofrow3:27

??http://cpbook.subeen.com
Sumofrow4:22
Sumofrow5:21

:
Sumofcolumn1:23
Sumofcolumn2:22
Sumofcolumn3:20
Sumofcolumn4:31
Sumofcolumn5:37

,
- !

6 3 8 2 4
4 7 6 4 1
7 1 4 2 6
8 9 2 5 7
9 9 7 9 3

,
- : 6, 4, 7, 8, 9 : 6, 4, 7, 8, 9
, 5 x 5 ( 5 5
), 5 x 5 ,
: 1, 2, 3, 4, 5
1, 2, 3, 4, 5 ?
, ,

#include<stdio.h>
#include<string.h>

intmain()
{
intara1[5][5]={{1,2,3,4,5},{10,20,30,40,50},{100,200,300,
400, 500}, {1000, 2000, 3000, 4000, 5000}, {10000, 20000, 30000, 40000,
50000}};
intara2[5][5];

intr,c;

printf("Contentoffirstarray(ara1):\n");

for(r=0;r<5;r++){
for(c=0;c<5;c++){
printf("%d",ara1[r][c]);
}
printf("\n");
}

printf("\n");

//nowstartcopy
for(r=0;r<5;r++){
for(c=0;c<5;c++){

??http://cpbook.subeen.com
ara2[c][r]=ara1[r][c];
}
}

printf("Contentofsecondarray(ara2):\n");

for(r=0;r<5;r++){
for(c=0;c<5;c++){
printf("%d",ara2[r][c]);
}
printf("\n");
}

return0;
}
:.

2-D ,
( ) 2-D
3-D, 4-D ,

- (decimal)
(binary) 0, 1, 2, 3, 4, 5, 6, 7, 8,
9 , 0 1
: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 19, 20, 21, , 98, 99, 100, 101 ... , ( )
, ( 1 0- 1
, 9 09 , 09- 10), 0 9
( 1 0- 1
) : 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011
... , 0- 1
( )

, , , , ,
, ?

10 , 100 , 1000 , (10),


(100), (1000), (10000)
(100 = 1) , (101 = 10) , (102 = 100)
, (20 = 1) , (21 = 2) , (22 = 4)
,
, , , ,
,

??http://cpbook.subeen.com
:
0 + 0 = 0,
0 + 1 = 1,
1 + 0 = 1,
1 + 1 = 10

, 1 + 1 , (10) , ,

101 + 101 = ?

, 1 + 1 = 10 0 1 (carry) , 0
+ 0 = 0, 0- 1 1
, 1 + 1 = 10 ( carry ) 0 1 :
1010 1011 + 1011 = ? 10110 ,


0 0 = 0,
1 0 = 1,
1 1 = 0,
0 1 = 1
, 23 15 ? 3- 1 ( 1 ),
13 5 = 8 , 1- 0 1
0- , 10 (),
( )
110 101 = ?

0 1 1, 1 101-
1 1 = 0, 1 1 = 0 : 001 1 - -

x 10 - ,
x 2 - : 1903 = 1 x 103 + 9 x 102 + 0 x 101 + 3 x
100
: 10110 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 Exponential Expression

,
:

10110 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 = 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1
= 16 + 0 + 4 + 2 + 0 = 22

10110 = 22 ,
, ?

char binary[] = 10110;

int len = 5; // 5
int decimal = 0; // , 0

??http://cpbook.subeen.com
2
binary[0] '1' ,- ?- 4
, 0

int position = 4;

int indx;

for(indx = 0; indx < len; indx++) {


decimal = decimal + pow(2, position);
position--;
}

, pow
math.h ab- pow(a, b)
:

#include<stdio.h>
#include<string.h>
#include<math.h>

intmain()
{
charbinary[65];
intlen,decimal,power,i;
printf("Enterthebinarynumber:");
scanf("%s",binary);

decimal=0;
len=strlen(binary);
power=len1;

for(i=0;i<len;i++){
decimal+=pow(2,power);
power;
}

printf("Decimalvalueis%d\n",decimal);

return0;
}
:.

10110 , ? 31
22

pow(2, position) position- ,


:

decimal += binary[i] * pow(2, power);

? 10110- ,

??http://cpbook.subeen.com
: ['1', '0', '1', '1', '0'] binary[0]-
pow(2, 4), binary[1]- pow(2, 3), , binary[4]- pow(2, 0)
10110- ?

Decimal value is 1510 ?


? ,

decimal += binary[i] * pow(2, power);


, binary[i]- '0' '1' ( '0' '1') '0'
48 '1' 49 '0' 0 '1' 1 ?

'0' '0' = 48 48 = 0
'1' '0' = 49 48 = 1

? binary[i] (binary[i] '0') (


)

95
n- , 2n <= 95 1, 2, 4,
8, 16, 32, 64, 128, ... 64 < 95 26 < 95 n- 6
(0 6 ) 64 < 95, (
) 1 (1xxxxxx) n- 1 64 + 25 = 64 + 32 = 96, 95-
0 (10xxxxx) n- , n-
4 64 + 24 = 64 + 16 = 80 < 95 1 (101xxxx) n- , n = 3
80 + 23 = 80 + 8 = 88 < 95 1 (1011xxx) , n = 2- 88 + 22 = 88 +
4 = 92 < 95 1 (10111xx) n = 1, 92 + 21 = 92 + 2 = 94 < 95 1
(101111x) n = 0, 94 + 20 = 94 + 1 = 95 1 1011111


95/ 2 47 1
47/2 23 1
23/2 11 1
11/2 5 1
5/2 2 1
2/2 1 0
1 /2 0 1

: 1011111
0

main

??http://cpbook.subeen.com
, ,
25 -
01622624182, , , (
),

01. Go to your bKash Mobile Menu by dialing *247#


02. Choose Payment
03. Enter the Merchant bKash Account Number you want to pay to (01622624182)
04. Enter the amount you want to pay (25)
05. Enter a reference against your payment (cpbook pdf)
06. Enter the Counter Number (enter 0)
07. Now enter your bKash Mobile Menu PIN to confirm

) *247#
) ''
) 01622624182
) ( )
) cpbook pdf
)
) (PIN)

( )

, ,
: http://dimikcomputing.com

??http://cpbook.subeen.com

. .

. .
printf ,


, 'c' ' ' ( )

(palindrome) , ? ( )
: madam madam

?
, :

#include<stdio.h>
#include<string.h>

intmain()
{
charword[80],reverse_word[80];
inti,j,len;

scanf("%s",word);

len=strlen(word);

for(i=0,j=len1;i<len;i++,j){
reverse_word[i]=word[j];
}
reverse_word[i]='\0';

printf("%s\n",reverse_word);

??http://cpbook.subeen.com
if(0==strcmp(word,reverse_word)){
printf("%sisapalindrome.\n",word);
}
else{
printf("%sisnotapalindrome.\n",word);
}

return0;
}
:.

! ,
,
strcmp , ,
,

(factorial) ?
n - n! n! = n * (n 1) * (n
2) * * 3 * 2 * 1 4! = 4 * 3 * 2 * 1 = 24 6! = 6 * 5 * 4 * 3 * 2 * 1 = 720 1! = 1 0! = 1 (0-
, 0- 1 )
,
int
12- ( )
12-
n ( 1 < n < 100, n- 2
99 )-
, , 5! = 120 = 2 * 2 * 2 * 3 * 5 2 3 , 3 1 5 1
5 : 5! = (2, 3), (3, 1), (5, 1) n-
? n-
99 12- n!-
- 2 99
- ,


, : int ara[] = {3, 1, 5, 2, 4},
, ara[] = {1, 2, 3, 4, 5} ,
: 3, 1, 5, 2, 4 ?
: 1 : 3, 5, 2, 4
1- : 1, 2 3, 5, 4 3 : 1, 2, 3
5, 4 4 3- : 1, 2, 3, 4 , 5
4- 1, 2, 3, 4, 5 (sorting)
- ?

: int ara1[] = {3, 1, 5, 2, 4};


: int ara2[5]; 0
int index_2 = 0;
ara2
for(index_2 = 0; index_2 < 5; index_2++) // 0 4

??http://cpbook.subeen.com
ara1-
minimum = 100000; // ara1-
for (i = 0; i < 5; i++) {
if (ara1[i] < minimum) {
minimum = ara1[i];
}
}
ara1- minimum ara2 :
ara2[index_2] = minimum

ara2-

#include<stdio.h>

intmain()
{
intara1[]={3,1,5,2,4};
intara2[5];

inti,minimum,index_2;

for(index_2=0;index_2<5;index_2++){
minimum=10000;
for(i=0;i<5;i++){
if(ara1[i]<minimum){
minimum=ara1[i];
}
}
ara2[index_2]=minimum;
}

for(i=0;i<5;i++){
printf("%d\n",ara2[i]);
}

return0;
}
:.

! ? , 1

1
1
1
1
1

( ) minimum- 1 ,
1 1

??http://cpbook.subeen.com
minimum ,
minimum_index :
minimum = 10000;
for (i = 0; i < 5; i++) {
if (ara1[i] < minimum) {
minimum = ara1[i];
minimum_index = i;
}
}
minimum- ara1[minimum_index]
ara1[minimum_index] = 10000;

#include<stdio.h>

intmain()
{
intara1[]={3,1,5,2,4};
intara2[5];

inti,minimum,index_2,minimum_index;

for(index_2=0;index_2<5;index_2++){
minimum=10000;
for(i=0;i<5;i++){
if(ara1[i]<minimum){
minimum=ara1[i];
minimum_index=i;
}
}
ara1[minimum_index]=10000;
ara2[index_2]=minimum;
}

for(i=0;i<5;i++){
printf("%d\n",ara2[i]);
}

return0;
}
:.

, ?



N x N
, , ,

??http://cpbook.subeen.com
(0, (0, (0, (0, (0, (0, (0, (0, (0,
0) 1) 2) 3) 4) 5) 6) 7) 8)
(1, (1,
0) 2)
(2, (2, R (2,
0) 1) (2, 3)
2)
(3, (3,
0) 2)
(4,
0)
(5,
0)
(6,
0)
(7,
0)
(8, (8,
0) 8)

(0, 0) (0, 8)
(8, 0) (8, 8) , (2, 2)
(1, 2) (3, 2) (2, 3) (2,
1) U (up), D (down), L (left), R (right), S (stop)
, (stop )

2-D
- , (x, y) U ,
x- , y- D , x-
, y- R y- , x- L
y- , x- :

#include<stdio.h>

intmain()
{
intx,y;
charc;

printf("Pleaseentertheinitialposition:");
scanf("%d%d",&x,&y);

while(1){
scanf("%c",&c);

??http://cpbook.subeen.com
if(c=='S'){
break;
}
elseif(c=='U'){
x;
}
elseif(c=='D'){
x++;
}
elseif(c=='R'){
y++;
}
elseif(c=='L'){
y;
}
}

printf("Finalpositionoftherobotis:%d,%d\n",x,y);

return0;
}
:.

:
Please enter the initial position: 2 2
D
R
D
R
S
Final position of the robot is: 4, 4


( ), ?
, (0, 4) (blocked) (0, 3) 'R' ,
( (0, 4) )

, 2-D
?
1 0

10 x 10 2-D :
int grid[10][10];


for(i=0;i<10;i++){
for(j=0;j<10;j++){
grid[i][j]=1;
}
}

??http://cpbook.subeen.com
printf(Pleaseenterthenumberofblockedcells:);
scanf(%d,&n);
printf(Nowenterthecells:);
for(i=0;i<n;i++){
scanf(%d%d,&x,&y);
grid[x][y]=0;
}

if (grid[x][y] == 1) {
, (x, y)
}

??http://cpbook.subeen.com

,
,
, !
, , ?

, -

(skill)
,
,
, ,


- (C++)
(Java), (C#), (PHP) (Python)


) ,
) IDE ,
) ,
) ,
) (OOP Object Oriented Programming) ,
) ,
) (Communication Skills),
) ,
) ,
)

, ,

, ,
25 -
01622624182, , , (
),

01. Go to your bKash Mobile Menu by dialing *247#


02. Choose Payment
03. Enter the Merchant bKash Account Number you want to pay to (01622624182)
04. Enter the amount you want to pay (25)
05. Enter a reference against your payment (cpbook pdf)
06. Enter the Counter Number (enter 0)
07. Now enter your bKash Mobile Menu PIN to confirm

??http://cpbook.subeen.com
) *247#
) ''
) 01622624182
) ( )
) cpbook pdf
)
) (PIN)

( )


-

,
- ,

- (IOI International Olympiad in Informatics)


1989
2009
( ) IOI

(ACM ICPC ACM


International Collegiate Programming Contest)

,
ICPC Regional Contest-
ICPC Regional Contest-
ICPC Regional Contest-
(ICPC World Finals) 1998

??http://cpbook.subeen.com

: http://en.wikipedia.org/wiki/ACM_ICPC_Dhaka_Site

-- ,
Google Code Jam
(http://code.google.com/codejam), Topcoder (http://www.topcoder.com/tc) Codechef
(http://www.codechef.com/) ,


, ,


??http://cpbook.subeen.com

, ,


,
, ,

,

Telecommuting

,
,
,

,
-- (bid)


,
,

,

,
, ,

,

??http://cpbook.subeen.com

, Herbert Schildt- Teach


Yourself C Brian Kernighan Dennis Ritchie- The C Programming
Language , Dennis Ritchie,
Stephen G. Kochan- Programming in C
Schaums Outlines Programming with
C

Teach Yourself C++


(: Herbert Schildt) Java How to Program (: Paul Deitel and Harvey Deitel)

, , Discrete Mathematics
Kenneth H. Rosen- Discrete Mathematics
Discrete Mathematics
Introduction to
Algorithms (: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein)

:
http://projecteuler.net/
,
http://www.spoj.pl/
, , , , , ,

??http://cpbook.subeen.com

http://uva.onlinejudge.org/

http://ace.delos.com/usacogate ,

,
http://www.topcoder.com/tc
( !)

http://codeforces.com/
http://www.codechef.com/

http://ioinformatics.org
http://cm.baylor.edu/welcome.icpc

:
http://matholympiad.org.bd/forum/

www.google.com
, google-

, , , , , ,

,
http://cpbook.subeen.com/p/blog-page_11.html

, -
http://cpbook.subeen.com/2012/12/problem-solving-guideline-1.html

-
http://dimikcomputing.com
https://www.facebook.com/DimikComputing
-
- - (
) -

??http://cpbook.subeen.com
- -

,

, ,

5
10
23
8
2
9765

32

http://cpbook.subeen.com/2012/11/positive-negative.html
-

,
10000000-

:
4
121000050207445
9
9887665
2239876452212

:
7
1
3
3

??http://cpbook.subeen.com
- -
,
?

,
- -
,

2
222
3510

8
150


- ASCII
ASCII
ASCII

ASCII

:
2
CAT
dog

:
216
314

??http://cpbook.subeen.com
-
?

, -

:
2
12345
0105080100

:
51
1000


-
,

0-
10000001-

YES NO

:
5
4
10
64
99
25

:
YES
NO
YES
NO
YES

??http://cpbook.subeen.com
- -

, -

:
2
12345
0105080100

:
3
48
- -
,

:
4
25080
756784387664988
190
35050100
:
65.00
66.71
90.00
66.67

??http://cpbook.subeen.com
-
1- 1
-

, -

:
4
71998154329100516522
5526316717889347751
6286925143649567795
1197794233237845961
:
4
4
0
7
-

,
10000001-

:
4
231
007
4341
000

:
3
1
4
1

??http://cpbook.subeen.com
- -

L, R L
R
, 34R92L6 3499226

,

50

:
5
0L7
4R5L9
71
8R4R0
34R92L6

:
007
45559
71
84400
3499226

??http://cpbook.subeen.com
- - -

, (0 2147483647- )

, even odd

:
3
100
0
1111

:
even
even
odd
- - -

, even odd

:
3
100
0
1111

:
even
even
odd

??http://cpbook.subeen.com
-

, *
, *

- N N- (M) 1
100-

M- M X M *

:
3

***

***

***

??http://cpbook.subeen.com
*****

*****

*****

*****

*****
-

,
N

5
1225
3333
7486
9090
6556

??http://cpbook.subeen.com
:
2
3
N
09
56
-

() , " ?
? ... ", , ',
'


, ,
, ' '
, 'rice eat you' ,

!

,
-

,
order 1/n n

??http://cpbook.subeen.com

2
eatyourice
nowaynogood

1/6
1/12
-
? "


" -
(
!) ,

,
( )

??http://cpbook.subeen.com

alittlepinkcatislookingforamousetoplayanonlinemultiplayergame.pleasefind
heramouse.shepromisesnottoeatitorchaseit.sheisagoodpinkcat.
thisisatest

14700
1680
-



, ' ?'


n
, ? ,

, , n n

n- blue red

??http://cpbook.subeen.com
:
2
1
134344

:
blue
red

' ' ,
http://dimikcomputing.com -
-
-
, -

***

*****

*******


7 5 , 3
1 , ,

, ,
1 100

??http://cpbook.subeen.com

4
5
1
4
2

***

*****

*******

*********
*

***

*****

*******

***

??http://cpbook.subeen.com


,

, !
,

, 1
0 ,
, 10110 ,

1001
!
? ,

, 1 0
50

MAGIC
NORMAL

:
4

10110

11001001

1001

NORMAL

MAGIC

MAGIC

NORMAL

??http://cpbook.subeen.com
-
! , '' ,
,
,
-
,
, ,
,
?
,
(
" : :" ' ' : : )
( : :
' ' : :) -
-

,

'N' (N<20)

' ', ' '
C (C<=5)
, "hh
mm ss", hh (0<=hh<24) , mm (0<=mm<60) ss (0<=ss<60)

:
2

10100

102015

231525

11020

??http://cpbook.subeen.com
:

1230

20685
-

-
, ?

N >= 2 2
N 65536

100

22

65536

??http://cpbook.subeen.com
65154

11

100=2^2*5^2

22=2^1*11^1

65536=2^16

65154=2^1*3^1*10859^1

11=11^1
-
Marks Grade

80100 A+

7579 A

7074 A

6569 B+

6064 B

5559 B

5054 C

4549 D

044 F

??http://cpbook.subeen.com

T (T<=25). T M (0
<= M <= 100) , M

Case X: , X 1

80

42

56

Case1:A+
Case2:F

Case3:B

??http://cpbook.subeen.com
-

T (T<=100). n1, n2, n3


1000

3
321
123
1056

Case1:123
Case2:123
Case3:5610
-

1 N x

T (T100). T
x N 1 x N 1000000.

1 N x

3
411
1350
210

:
Case1:48
Case2:132639
Case3:246810

??http://cpbook.subeen.com
-

T (T<=10), T
, D (0 <= D <= 9) H (1 <= H <= 20), D
H

Case X: , X 1

2
14
35

:
Case1:
1
11
111
1111
Case2:
3
33
333
3333
33333

,
: http://dimikcomputing.com

??http://cpbook.subeen.com
-

triplet (x, y, z) x A, y B, z C (0 A, B, C 20) x < y < z


T (T20). T
A,B,C

Case X: , X 1
lexicographical

:: Lexicographic (a1, b1, c1) (a2, b2, c2) lexicographic


: (i) a1 < a2 (ii) a1 = a2 and b1 < b2 (iii)
a1 = a2 and b1 = b2 and c1 < c2)

3
112

323

444

Case1:

012

Case2:

012

013

023

123

Case3:

012

013

014

??http://cpbook.subeen.com
023

024

034

123

124

134

234
-
()

T (T10). T
N , (1 N 100000)

3
6
15
23

??http://cpbook.subeen.com
:

Case 1: 1 2 3 6

Case 2: 1 3 5 15

Case 3: 1 23
-
,

T (T50).

T B H
1 B, H 1000.

Case X: Y ,

X 1 Y

612

??http://cpbook.subeen.com
3156

335501

Case1:72

Case2:1736

Case3:167835
- ?

, , , ,

(Given three numbers, find out if they from arithmetic progression, geometric progression, both, or
none.)

T (T 50) , T
n1, n2, n3
0 n1, n2, n3 1000.

, Case X:

X ( )

None, Arithmetic Progression, Geometric Progression, Both( )

??http://cpbook.subeen.com

125

135

248

222

Case1:None

Case2:ArithmeticProgression

Case3:GeometricProgression

Case4:Both
-
, , , , ,

= , = , = , = , =

T (T50)

T , , S (1 S
10^9)

, , , ,

0 1 ,

??http://cpbook.subeen.com
, 0 1 1
year , 1 years

10 10 months , 10 month

59

60

395

3840305

31104000

:
Case1:1second

Case2:59seconds

Case3:1minute

Case4:6minutes35seconds

Case5:1month14days10hours45minutes5seconds

Case6:1year

??http://cpbook.subeen.com
-

T (T25).

, x1, y1, x2, y2

x3, y3, x4, y4. (x1, y1) (x2, y2)


(x3, y3) (x4, y4)

, x1 < x2, y1 < y2, x3 < x4, y3 < y4

X Y 100, -100
x1, y1, x2, y2, x3, y3, x4, y4 100.

Case X: Yes Case X: No ,


X 1

1155

4477

1155

171012

??http://cpbook.subeen.com
1122

2233

Case1:Yes

Case2:No

Case3:No
-
1
, 1

: 46709 57618

, 0

10000001-

??http://cpbook.subeen.com
:

231

117

8341

46709

320

9250

57618
-
,

, sun rises in the east


east the in rises sun

T (T20).

??http://cpbook.subeen.com
sunrisesintheeast

helloworld

easttheinrisessun

worldhello
-
N N

, T, T T
N (0<N10)

??http://cpbook.subeen.com
2

100

101

110

111
-

T (T10), T
N(2 N 1000000000000)

, N , N, is a prime

N N, is not a prime

3
2
6
11

:
2isaprime
6isnotaprime
11isaprime

??http://cpbook.subeen.com
- -


,
, banana ana 1
ban 0 anna

,
128

bananaana
bananaban

aquickbrownfoxjumpsoverthelazydogfox

foobarfoobar

11

??http://cpbook.subeen.com
- -

,

, banana ana 1- , 3-

banana

|||||

ana||

|||

ana

, 2 anna
0

bananaana

bananaanna

foxaquickbrownfoxjumpsoverthelazydog

dddddddd

??http://cpbook.subeen.com
foobarfoobar

1
- , http://dimikcomputing.com,

??http://cpbook.subeen.com
- -



,
, , , , , ,

, ,

50
(current run rate) (required run
rate) ,

, 6 1 1

,

, ,

3002946

200100100

33325040

118100180

6.007.00

3.006.06

5.7712.60

5.000.63

??http://cpbook.subeen.com
, ,
25 -
01622624182, , , (
),

01. Go to your bKash Mobile Menu by dialing *247#


02. Choose Payment
03. Enter the Merchant bKash Account Number you want to pay to (01622624182)
04. Enter the amount you want to pay (25)
05. Enter a reference against your payment (cpbook pdf)
06. Enter the Counter Number (enter 0)
07. Now enter your bKash Mobile Menu PIN to confirm

) *247#
) ''
) 01622624182
) ( )
) cpbook pdf
)
) (PIN)

( )

??http://cpbook.subeen.com
-
(r1, c1) , (r2, c2)

,
,

T (T50), T
4 : r1,c1,r2,c2, , (r1,c1)
(r2, c2)

(0 r1, c1, r2, c2 1000).

Case X: Y , X
1 Y (r1, c1) (r2, c2)

1133

1269

42468335501

Case1:2

Case2:7

Case3:293

??http://cpbook.subeen.com

You might also like