Monday, April 7, 2014

C Programming Basics - Lesson 5.1 Arrays (Two and Multi-Dimensional Array)

C Programming Basics - Lesson 5.1 Arrays (Two and Multi-Dimensional Array)
சென்ற பாடத்தில் Array என்றால் என்ன? அது எவ்வாறு பயன்படுகிறது? மற்றும் Single Dimensional Array இவற்றை பற்றி பார்த்தோம்...
இப்போது நாம் பார்க்கப்போவது Two and Multi-Dimenstional Array
int a[3]; - இப்படி declare செய்வது Single Dimensional Array
int a[3][3]; - இப்படி declare செய்வது Two-Dimenstional Array
int a[3][[3][3] or a[3][3][3][3] - இது Multi-Dimensional Array எனப்படுகிறது..
இதனை எப்படி ப்ரோக்ராம் இல் பயன்படுத்துவது என்பது பற்றி பார்ப்போம்.
int a[3][3];
இந்த declaration ல் இரண்டு dimension உள்ளது.. இதை table ல் உள்ளது போல் ஒன்றை முதல் dimension ஐ row ஆகவும்  இரண்டாவது dimension ஐ column ஆகவும் எடுத்துக் கொள்வோம்.. இப்போது 3 rows மற்றும் 3 columns உள்ளது.. இதற்கு எப்படி மதிப்பு கொடுப்பது என்பதை ஒரு table வடிவில் பார்ப்போம்..
 variable name = a
0
1
2
0
310
275
365
1
10
190
325
2
405
235
240

இதை கீழ்க்கண்டவாறு declare செய்யலாம்
a[0][0]=310;
a[0][1]=275;
a[0][2]=365;
a[1][0]=10;
a[1][1]=190;
a[1]][2]=325;
a[2][0]=405;
a[2][1]=235;
a[2][2]=240;
array மதிப்புகள் அதிகமாக இருக்கும் போது இப்படி ஒவ்வொன்றாக declare செய்வது கடினமாக இருக்கும்.. எனவே ஒரு for லூப்ஐ உபயோகப்படுத்தி value ஐ input ஆக கொடுக்கலாம்... அதாவது...
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
scanf மற்றும் for லூப்ஐ பயன்படுத்தி இப்படி declare செய்தோம் என்றால் மிகவும் ஈசியாக இருக்கும்.. நமது நேரத்தையும் சேமிக்கலாம்.  மேற்கண்ட ப்ரோக்ராம் ல் இரண்டு for லூப் பயன்படுத்தப் பட்டுள்ளது. ஒரு for லூப் i value க்காகவும் மற்றொரு for லூப் j value க்காகவும் பயன்படுத்தப் பட்டுள்ளது. இதில் i என்பது row ஐயும் j என்பது column ஐயும் குறிக்கிறது. இதற்கு ஒரு முழு ப்ரோக்ராம்ஆக இப்பொழுது பார்ப்போம்...
#include <stdio.h>
#include <conio.h>
void main()
{
int a[3][3];
int i,j;
clrscr();
printf("Enter the array values \n");
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("The output of Two-Dimenstional Array \n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("%d\t",a[i][j]);
}
}
getch();
}
இதனுடைய output கீழ்க்கண்டவாறு இருக்கும்...
Enter the array values
310 275 365 10 190 325 405 235 240
The output of Two-Dimenstional Array
310 275 365 10 190 325 405 235 240






Sunday, March 23, 2014

C Programming Basics - Lesson 5 - Arrays (Single-Dimensional Array)

முன்பு பாடங்களில் data types பற்றி பார்த்தோம். அதாவது int, float, char போன்றவை. இவை அனைத்தும் ஒரு நேரத்தில் ஒரு மதிப்பு மட்டுமே கொடுக்க முடியும். உதாரணமாக...

int a=10; எனும் பொது a இன் மதிப்பு 10 ஆகிறது. இப்போலுது a க்கு ஒரு மதிப்பு மட்டுமே உள்ளது. ஒரே variable பெயரில் பல மதிப்பு கொடுக்க வேண்டும் என்றால் அதற்கு array பயன்படுகிறது.

array மூன்று வகைப்படும்

1. Single-Dimensional Array
2. Two-Dimensional Array
3. Multidimensional Array

இன்று Single Dimensional Array ஐ பற்றி மட்டும் பார்ப்போம். மற்றதை அடுத்த வகுப்பில் பார்க்கலாம்.

Single Dimensional Array

இப்போது பாருங்கள்... int a[5]; a க்கு ஐந்து மதிப்பு கொடுக்கலாம்.. எப்படி என்றால்.. a[0]=10, a[1]=20, a[2]=30, a[3]=40, a[4]=50. எப்பவுமே array value 0 வில் இருந்து தொடங்க வேண்டும். எனவே array இன் மதிப்பு 5 ஆக இருக்கும்போது 0 வில் இருந்து தொடங்கி 4 வரை கொடுக்க வேண்டும். இதுபோல்தான் மற்ற array களுக்கும்.

இந்த Single Dimensional Array ப்ரோக்ராம்ல எப்படி உபயோகப்படுகிறது என்று பார்ப்போம்

உதாரணமாக, 5 நம்பர்களை input ஆக கொடுத்து அதை display செய்யப்போகிறோம். அது எப்படி என்று பார்ப்போம்..

#include <stdio.h>
#include <conio.h>
void main()
{
int i,a[5];
printf("Enter 5 numbers");
for (i=0;i<5;i++)
{
scanf ("%d", &a[i]);
}
printf("\n The output is");
for (i=0;i<5;i++)
{
printf ("%d", a[i]);
}
}

மேற்கண்ட ப்ரோக்ராம் இல் இரண்டு for லூப் பயன்படுத்தப்பட்டுள்ளது. முதல் for லூப் 5 values ஐ கொடுக்கவும் இரண்டாவது for லூப் அதை display செய்யவும் பயன்படுகிறது. a[i] என்று கொடுக்கும்போது ஒவ்வொரு தடவையும் i இன் மதிப்பு 0 இல் இருந்து தொடங்கி 4 வரை increment ஆகிறது. பின்னர் நாம் கொடுத்த மதிப்பு output ஆக இரண்டாவது for லூப் மூலம் display செய்கிறது. இதன் output இவ்வாறு இருக்கும்.

Enter 5 number 10 20 30 40 50
The output is 10 20 30 40 50




Sunday, March 2, 2014

C Programming Basics - Lesson 4 - for, while and do-while loop

C Programming Basics - Lesson 4 - for, while and do-while loop

சில சமயங்களில் ஒரு statement பல தடவை பயன்படுத்த வேண்டியது வரும். அதற்கு நாம் திரும்ப திரும்ப அந்த statement டைப் செய்வதால் நம்முடைய நேரமும், அந்த ப்ரோக்ராம்க்கு எடுத்துக் கொள்ளும் காலமும்தான் அதிகரிக்கும். இதை தவிர்க்கவே ப்ரோக்ராம்ல் லூப் என்ற ஓன்று  பயன்படுத்தப்படுகிறது.

ஒவ்வொரு லூப்பிலும் மூன்று பகுதிகள் உள்ளது. 1. Initialization 2. Test Condition 3. Increment and Decrements.  Initialization என்பது முதலில் ஒரு value கொடுத்து இதில் இருந்து தொடங்க வேண்டும் என்பது.  Test Condition என்பது இந்த கண்டிஷன்க்கு உள்ளே அந்த லூப்பில் உள்ள statement செயல்படுத்த வேண்டும் என்பது. அடுத்து Increment and Decrements என்பது ஒவ்வொன்றாக செயல்பட.. அதாவது value ஒவ்வொன்றாக கூட்டிக் கொண்டு போக.. 1 லிருந்து 10 வரை என்றால். முதலில் 1, பின்னர் 2..பின்னர் 3 என்று அல்லது value கழித்துக் கொண்டு போக 10 லிருந்து 1 வரை என்றால் முதலில் 10, பின்னர் 9, பின்னர் 8 என்பதாகும்
லூப் மொத்தம் மூன்று வகை..

1. For loop
2. While loop
3. Do-While loop

உதாரணமாக, 1-ல் இருந்து 10 வரை காட்டுவதற்கு ப்ரோக்ராம் செய்ய வேண்டும் என்று வைத்துக் கொள்வோம். அதற்கு தனி தனியாக ஓன்று இரண்டு என்று காட்ட தேவையில்லை. ஒரே லூப்பின் மூலம் காட்ட முடியும்.

1. For loop

for (i=1;i<=10;i++)
{
printf("%d",i);
}

I=1 இப்பொழுது i இன் மதிப்பு 1. எனவே லூப் 1 இல் இருந்து துவங்குகிறது..பின்னர்.. i<=10 அதாவது i இன் மதிப்பு 10 வரும் வரை இந்த லூப் செயபடுத்த வேண்டும் என்பதாகும்.  i++  என்பது  i  இன் மதிப்பை 10 வரும் வரை ஒவ்வொன்றாக கூட்டிக் கொண்டு போக.. i ++ என்பது i +1 என்று சொல்லலாம். i இன் மதிப்புடன் ஒன்றை கூட்டு என்பது இதன் அர்த்தமாகும்.. printf("%d",i); இது i இன் மதிப்பு 10 வரும் வரை ஒவ்வொன்றாக செயல்படுத்தப்படுகிறது.. இதன் output 1 2 3 4 5 6 7 8 9 10 என்று இருக்கும். இதேபோல் தான் மற்ற லூப்களும். Initialization, Test Condition, Increment and Decrements.  ஒவ்வொரு லூபிலும் வெவ்வேறு இடங்களில் அதன் லூபின் வடிவத்திற்கேற்ப பயன்படுத்தப்படும்.

2. While loop

i=1;
while (i<=10)
{
printf("%d",i);
i++;
}


3. Do-While loop

i=1;
do
{
printf(%d",i);
i++;
} while (i<=10);

1 இல் இருந்து 10 வரை காட்டுவதற்கு for லூப்பை வைத்து ஒரு முழுமையான ப்ரோக்ராம்... மற்ற லூப்புகளை நீங்கள் செய்து பாருங்கள்..

#include<stdio.h>
#include <conio.h>
void main()
{
int I;
for (i=1;i<=10;i++)
{
printf("%d",i);
}
}


Output:
12345678910


Sunday, February 16, 2014

C Programming Basics - Lesson 3.2 - Switch... case statement

C Programming Basics - Lesson 3.2 - Switch... case statement

சென்ற பாடத்தில் Else If statement ஐப் பற்றி பார்த்தோம்.. Else If statement இல் பல கண்டிஷன்களை கொடுத்து அது நிரல்களை செயல்படுத்தினோம்.

இப்பொழுது நாம் பார்க்கப் போவது switch..case statement. அதாவது, பல ஆப்சன்கள் கொடுத்து உங்களுக்கு வேண்டியதை தேர்வு செய்யுங்கள் என்று சொல்வதற்கு பயன்படுவதுதான் இந்த switch..case statement. 

உங்களுக்கு நன்றாக விளங்க வேண்டும் என்பதற்காகவே எளிமையான ப்ரோக்ராம்களை கொடுக்கிறேன்.

உதாரணமாக.. நான்கு வகையான ஆப்சன்களை இந்த ப்ரோக்ராம்இல் கொடுக்கப் போகிறோம்..அதாவது.

1. கூட்டல் (Addition)
2. கழித்தல் (Subtraction)
3. வகுத்தல் (Division)
4. பெருக்கல் (Multiplication)

ஆப்சன் 1 ஐ தேர்வு செய்தால் கூட்டலில் விடை கிடைக்க வேண்டும். ஆப்சன் 2 ஐ தேர்வு செய்தால் கழித்தலின் விடை கிடைக்க வேண்டும். இப்படி பல... இதற்குதான் switch கேஸ் statement பயன்படுகிறது.

மேற்கண்ட நிரலை (Program) செயல்படுத்தல் switch statement உபயோகித்து எப்படி ப்ரோக்ராம் எழுத்துவது என்று பார்ப்போம்..

‪#‎include‬ <stdio.h>
#include <conio.h>

void main()
{
int a,b,c;
int option;

printf("Enter the value of a:");
scanf("%d",&a);

pritnf("Enter the value of b:");
scanf("%d",&b);

printf("1. Addition \n")
printf("2. Subtraction \n");
printf("3. Division \n");
printf("4. Multipication \n");

printf ("Enter your option:");
scanf("%d",&option);

switch (option)
{
case 1:
c=a+b;
printf("The output of addition is : %d", c);

case 2:
c=a-b;
printf("The output of subtraction is : %d", c);

case 3:
c=a/b;
printf("The output of division is : %d",c);

case 4:
c=a*b;
printf("The output of addition is :%d",c);

default:
printf("Wrong. Enter the correct option");

}
}

switch (option) இதில் option என்பது நாம் எந்த ஆப்சனை தேர்வு செய்ய வேண்டும் என்பது. case 1, case 2, case 3, case 4 என்பது நாம் கொடுத்த ஆப்சனுக்கு ஏற்றாற்போல் செயல்பட வைக்க.. default என்பது கொடுக்கப்பட்ட ஆப்சன் தவறு என்றால் இதை காண்பிக்கும். இதில் ஏதேனும் சந்தேகம் இருந்தால் கீழே பதியுங்கள்..



Sunday, January 26, 2014

C Programming Basics - Lesson 3.1 - Else If Statement

சென்ற பாடத்தில் If Statement என்றால் என்ன அதை எப்படி பயன்படுத்த வேண்டும் என்பது பற்றி பார்த்தோம். அதாவது If Statement என்பது  If Statement என்பது... ஒரு condition கொடுத்து அதனை சரியா? தவறா? எனக் கண்டறிவது.. சரி என்றால் இதனை செய். தவறு என்றால் இதனை செய் என்று கொடுப்பது என்று பார்த்தோம்.

இப்போது இந்த பாடத்தில் நாம் பார்க்க போவது Else If Statement என்பது பல condition கொடுத்து அதனை செயல்படுத்துவது. உதாரணமாக, மூன்று நம்பரில் எது பெரிய நம்பர் என்பதை கண்டுபிடிப்போம்

#include<stdio.h>
void main()
{
int a,b,c;
printf("Enter the value of a\n");
scanf("%d",&a);
printf("Enter the value of b\n");
scanf("%d",&b);
printf("Enter the value of c\n");
scanf("%d",&c);
if(a<b)
printf("b is greater");
else if(a>c)
printf("a is greater");
else
printf("c is greater");
}

மேற்கண்ட ப்ரோக்ராமில் இரண்டு கண்டிஷன் கொடுக்கப் பட்டுள்ளது. முதல் கண்டிஷன் சரி என்றால் முதல் statement ஐ பிரிண்ட் செய்கிறது . இரண்டாவது கண்டிஷன் சரி என்றால் இரண்டாவது statement ஐ பிரிண்ட் செய்கிறது. இரண்டுமே தவறு என்றால் மூன்றவதாக உள்ள statement ஐ பிரிண்ட் செய்கிறது. இது நமது தேவைக்கு ஏற்றார் போல் எத்தனை கண்டிஷன் வேண்டுமானாலும் கொடுக்கலாம்...

Sunday, December 29, 2013

C Programming Basics - Lesson 3 - If Statement

C Programming Basics - Lesson 3 - If Statement

                                If Statement என்பது... ஒரு condition கொடுத்து அதனை சரியா? தவறா? எனக் கண்டறிவது.. சரி என்றால் இதனை செய். தவறு என்றால் இதனை செய் என்று கொடுப்பதற்குத்தான் If Statement பயன்படுகிறது.

உதாரணமாக... 12 ஐ விட 5 சிறிய நம்பர் ஆ? இல்லை பெரிய நம்பர் ஆ? என்பதை கண்டறிய c ப்ரோக்ராம் எழுதலாம்.... இதனை சில குறியீடுகள் மூலம் வகைபடுத்துவார்கள்....

இந்த குறியீடுகளை பாருங்கள்...

>     greater than    
<     less than          
>=    greater than or equal  
<=    less than or equal  
==    equal to            
!=    not equal to    

if  statement இன் பொது வடிவம்...

if (condition)
statement-1;
else
statement-2;

condition என்பது மேற்கண்ட குறியீடுகளை வைத்து நாம் கொடுக்கும் கட்டளை.. condition இல் கொடுக்கப்பட்டது சரி என்றால் statement-1 ஐ ப்ரோக்ராம் செயல்படுத்தும். condition இல் கொடுக்கப்பட்டது தவறு என்றால் statement-2 ஐ ப்ரோக்ராம் செயல்படுத்தும்...

Example:-

12 ஐ விட 5 சிறிய நம்பர் ஆ என்பதை கண்டறிய ப்ரோக்ராம் எழுதுவோம்...

முதலில் இந்த இரண்டு நம்பர் ஐயும் variables இல் store செய்ய வேண்டும்...எனவே,

a=12, b=5 என்று வைப்போம்.. இப்போது a இன் மதிப்பு 12. b  இன் மதிப்பு 5.

Program...

#include <stdio.h>
void main()
{
int a,b;
a=12;
b=5;
if(a>b)
printf("a is greater");
else
printf("b is greater");
}

இந்த ப்ரோக்ராம் இல் a>b என்பது condition. a ஐ விட b சிறியதா?. ஆம் எனில் a is greater என்பதை காட்டு.  இல்லையெனில்   b is greater என்பதை காட்டு.

இதன் output  இவ்வாறு இருக்கும்...

a is greater

இதேபோல் நீங்கள் இரண்டு நம்பர்களை  கொடுத்து பல குறியீடுகளை உபயோகித்து செய்து பாருங்கள்...


Sunday, December 22, 2013

C Programming Basics - Lesson 2.2 - scanf() function...

C Programming Basics - Lesson 2.2  -  scanf() function...

சென்ற பாடம் வரை variable க்கு மதிப்பு  a=10, b =20 என்று கொடுத்தோம். இதனை output இல் காட்டுவதற்கு printf() என்ற function ஐ உபயோகபடுத்தினோம்..

இந்த variable களின் மதிப்புகளை output இல் நாம் விரும்பியவாறு கொடுப்பதற்கு இந்த scanf() function பயன்படுகிறது. இதை எப்படி பயன்படுத்துவது என்பதை பார்ப்போம்...

உதாரணமாக, இரண்டு எண்களின் கூட்டுத்தொகை கணக்கிடும் program ஐயே எடுத்துக் கொள்வோமே...

scanf() இல்லாமல் variable க்கு நேரடியாக மதிப்பு கொடுக்கப்பட்டது முந்தைய program களின்...

முந்தைய ப்ரோக்ராம் ஒரு நினைவூட்டல் இங்கே....

#include <stdio.h>
void main()
{
 int a,b,c;
a=10;
b=20;
c=a+b;
printf("The value of c is %d",c);
}

இதனுடைய output இவ்வாறு இருக்கும்...

The value of c is 30

இப்பொழுது scanf() உபயோகித்து...


#include<stdio.h>
void main()
{
int a,b,c;
printf("Enter the value of a:");
scanf("%d",&a);
printf("\nEnter the value of b:");
scanf("%d",&b);
c=a+b;
printf("\nThe value of c is %d",c);
}


இப்பொழுது மேற்கண்ட ப்ரோக்ராம் இல் புதிதாக சில வரிகள் சேர்க்கப்பட்டுள்ளது...

printf("Enter the value of a:");

இது உங்களுக்கு தெரிந்ததுதான்.. Enter the value of a: என்பதை output இல் காட்டும்...

scanf("%d",&a);

இதில் %d என்பது control string. இது integer value என்பதால்.. இப்பொழுது நமக்கு a இன் மதிப்பு வேண்டும்.. அதை output இல கேப்பதற்கு a என்ற variable க்கு முன்னால் & என்பதை சேர்க்க வேண்டும். output இல் Enter the value of a:என்பதை காட்டிய பின் a இன் மதிப்பை நீங்கள் கொடுப்பதற்காக காத்திருக்கும்.. இப்பொழுது நீங்கள் விரும்பிய மதிப்பை a க்கு கொடுக்க வேண்டும்.

printf("\nEnter the value of b:");

இதுவும் உங்களுக்கு தெரிந்ததுதான்.. Enter the value of b : என்பதை output இல் காட்டும்... இதில் \n என்பதை அடுத்த வரியில் இது வருவதற்காக new line என்பதன் சுருக்கம்...

scanf("%d",&b);

இதுவும் மேலே சொன்ன மாதிரிதான். இதில் %d என்பது control string. இது integer value என்பதால்.. இப்பொழுது நமக்கு b  இன் மதிப்பு வேண்டும்.. அதை output இல கேப்பதற்கு b  என்ற variable க்கு முன்னால் & என்பதை சேர்க்க வேண்டும். output இல் Enter the value of b:என்பதை காட்டிய பின் b  இன் மதிப்பை நீங்கள் கொடுப்பதற்காக காத்திருக்கும்.. இப்பொழுது நீங்கள் விரும்பிய மதிப்பை b க்கு கொடுக்க வேண்டும்.

இதனுடைய output இவ்வாறு இருக்கும்...

Enter the value of a: 20
Enter the value of b: 30
The value of c is 50

இதேபோல் கழித்தல்,பெருக்கல், வகுத்தல் போன்ற ப்ரோக்ராம்களை scanf() உபயோகித்து செய்து பாருங்கள்.