Thursday, December 20, 2012

7. C හත්වන පාඩම - Arrays in C (දත්ත වැල් )


අද අපි බලමු C හි භාවිතාවන දත්ත වැල් නැතිනම් arrays පිළිබඳව.

අප ඉහත පාඩම්වලදි දැනගත්තු විදියට C වලදි variable එහෙම නැතිනම් විචල්‍ය භාවතිකළා මතක ඇති. හිතන්න එකම data type එකෙන් variable 100ක් විතර හදාගන්න ඕන වුනොත් මොකද වෙන්නෙ. අපි මෙතෙක් දන්නව විදියට නම් එකින් එක variable 100ක් වෙන වෙනම declare කරන්න වෙනවා. නමුත් ඒක ප්‍රායෝගිකව ඉතාම අපහසු කාර්යයක් බව පැහැදිලියි. ඒවගේම ඒවිදියට හාදාගන්න variable භාවිතා කරන්න ගියාමත් කරදරයි. ඉතින් මේකට විසඳුමක් විදියට තමයි අපි arrays භාවිතා කරන්නෙ. මේක දත්ත වැලක්. අපි බලමු කොහොමද array එකක් declare කරන්නෙ කියල.


Syntax of array

datatype arrayName[index]; //Index එක අනිවාර්යෙන්ම integer එකක් විය යුතුයි.

array declare කරගන්නෙත් අපි variable declare කර ගනු ලැබූ ආකාරයටමයි. නමුත් මෙහි ඇති එකම විශේෂත්වය නම් variable name එකට පසු කොටු වරහන් තුල Integer අංකයක් ලබා දීමයි. එමගින් ඉටුවන්නෙ අදාල variable එක array එකක් බවත් එහි එම integer අගය තරම් වන variable වැලක් ඇති බවත්ය.

Example

char name[10];

ඉහත උදාහරණය බලන්න. මෙහි datatype එක char වේ. එනම් character datatype එකෙන් name ලෙස slots (කට්ට) 10 ක් array එකක් මෙලෙස හඳුන්වාදිය හැක.


දත්ත අතුලු කිරීම සහ පිටතට ගැනීම.(Data assigning and reading)

array එකකට දත්ත අතුලත් කරගත හැකි ක්‍රම දෙකක් තිබෙනවා.

  1. හඳුන්වාදෙන අවස්තාවේදිම දත්ත අතුලත් කර ගැනීම.(data initialization)
  2. අවශ්‍යතාවය පරිදි දත්ත අතුලු කර ගැනීම. (data assign)
1. හඳුන්වාදෙන විටම දත්ත අතුලු කරගන්නේ මේ ආකාරයටයි. 

char name[10] = {'a','b','c','d','e','f','g','h','i','j'};

මෙහිදී සඟල වරහන් තුල අගයන් ලබාදීම සිදු කරයි. '' භාවිතා කර ඇත්තේ characters නිසායි.මෙම array හි slots 10ක් පමණක් ඇති නිසා අගයන් දහයක් හෝ ඊට අඩුවෙන් ලබාදිය හැකිය.

2. අවශ්‍යතාවය පරිදි අගය ඇතුලු කරගනීම.


char name[10];

name[0] = 'a';
name[1] = 'b';
name[2] = 'c';
name[3] = 'd';
.
.
.
name[9] = 'j';


array භාවිතයේදී මතක තබාගත යුතු වැදගත්ම කාරණය වන්නෙ අප array එකක් slots 10ක් ඇති ලෙස සදාගත්තොත් එවා index වන්නෙ 0 සිට 9 දක්වා බවයි. හැමවිටම array එකක පළමු index එක 0 වන අතර එතැන් සිට පිළිවෙලින් slots ගැනීම සිදුකළයුතුය.

එලෙසම සමාන්‍ය variable සඳහා අගයන් ඇතුලු කිරීමේදි පිළිපදින ඕනෑම ආකාරයක් මෙහිදි භාවිතා කළ හැක.

දත්ත කියවීමේදීද ඉහත index එක පිළිබඳව සැලකිළිමත් විය යුතු අතර index එක මගින් array එකෙහි slots වෙන වෙනම හඳුනාගැනීම සිදුකරනු ලබයි.

array සමග වැඩකරන විට නිතරම අපට loops භාවිතාකිරීමට සිදුවේ. මන්ද දත්ත වැලක් සමග කටයුතු කරන බැවින් අපට ඒවාට අගයන් ඇතුලු කිරීමත් කියවීමත් loop මගින් පහසුවෙන් ඉටුකරගත හැක. index එක loop එකක් මගින් ගණනය කරවාගෙන එය යොදාගැනීමෙන් array එකෙහි අගයන් යෙදීමත් කියවීමත් කළ හැක. index එක ලෙස අපට අවශ්‍ය නම් integer variable එකක් වුවද භාවිතා කළ හැක.

අපගේ loop සම්බන්ධ පාඩම මගින් ඒ පිළිබඳව අවබෝධයක් ලබාගත හැක. 

නැවත ලිපියකින් හමුවන තුරු ඔබට ජය.

10 comments:

  1. C පාඩම් ඉවරද? තව දන්නා යාළුවා... සිංහලෙන් පාඩම් හොයන කොට GOOGLE එකේ මේක හම්බවුණේ. බොහොම ස්තුතියි පාඩම් ටිකට. අනුන්ගේ බෙලිත් කපලා තනියෙන් බුදුවෙන්න බලන් ඉන්න මිනිස්සු ඉන්න රටක ලෝබ නැතිව තමන් දන්නා දේ බෙදා හදා ගන්න එක ගැන ගොඩක් සතුටුයි... පිං සිද්ධ වෙන්න ඕන. ඔයාටත් තව තව දැනුම ලැබේවී මේ කරන සත්කාරයේ පිහිටෙන්....

    ReplyDelete
    Replies
    1. C පාඩම් ඉවර නෑ... තව තියනවා :) C කියන්නෙ මෙතනින් ඉවරයි කියල ඉවර කරන්න පුලුවන් දෙයක් නෙවෙයි නේ...

      ස්තූතියි සහෝදරයා ඇගයීමට. අපි දෙන තරමටනෙ අපිට ලැබෙන්නෙ

      Delete
  2. නියම ලිපි පෙලක් දිගටම දාන්න අපි එනවා කියවන්න ස්තුතියි..

    ReplyDelete
    Replies
    1. ස්තූතියි සහෝදරය දිරිගැන්වීමට.

      Delete
  3. atthamai ayye apita practical karanna dunne code blocs wala missge slide tibbe turbo c wala aniddata exam tiyeddi me site eka hambune dantamath mn godak dewal igena gatttha mewa hari saralai kiyala danenne danui ayyalata godak pin atthamai dan nam exam eka goda da ganna puluwan :D

    ReplyDelete
    Replies
    1. ස්තූතියි මලයා...
      විභාගයට සුබ පැතුම්!

      Delete
  4. niyamai saho...digatama karagena yanna.....tnx a lot...gd luck.

    ReplyDelete
  5. ඔබට බොහොම පින් මේ කරන උතුම් සත්කාරයට . ජීවිතේ නොසිතු මොහොතක මේ පින ඔබට උපකාර වේවි . ජය වේවා .දිගටම කරගෙන යමු .

    ReplyDelete
  6. serama padam tika danna..nawaththanna epa

    ReplyDelete