Դաս 14.1 Objectiv C: Բազմաչափ զանգվածներ

0

Objective-C ծրագրավորման լեզուն ապահովում է բազմաչափ զանգվածների կիրառում: Ահա դրանց հայտարարման ընդհանուր ձևի օրինակը՝

type name[size1][size2]...[sizeN];

Օրինակ հետևյալ հայտարարումը ստեղծում է եռաչափ 5, 10, 4 ամբողջ  թվերի զանգված՝

int threedim[5][10][4];

Եռաչափ  զանգվածներ:

Բազմաչափ զանգվածի պարզագույն ձևը երկչափն է, որն էլ ըստ էության միաչափ զանգվածների ցուցակ է: Որպեսզի հայտարարեք երկչափ ամբողջ թվերի զանգված, որն ունի x,y չափ, պետք է անեք հետևյալը՝

type arrayName [ x ][ y ];

Այստեղ type-ը կարող է լինել ցանկացած valid Objective-C data type , իսկ  arrayName-ը  valid Objective-C identifier: Երկչափ զանգվածը կարելի է պատկերացնել որպես աղյուսակ, որտեղ կան  x թվով  շարքեր և  y թվով սյունակներ: Ահա  երկչափ a զանգվածի օրինակ, որն ունի երեք շարք և 4 սյունակ՝

two_dimensional_arrays

Այսպիսով, զանգվածում յուրաքանչյուր էլեմենտ նշված է  a[ i ][ j ] անունով, որտեղ a-ը զանգվածի անվանումն է,  i-ը և  j-ը ապահովում են զանգվածի յուրաքանչյուր էլեմենտի եզակիությունը.

Երկչափ զանգվածի սահմանումը:

Բազմաչափ զանգվածները կարող են սահմանվել յուրաքանչյուր շարքի համար փակագծերում արժեքներ տրամադրելով: Ահա օրինակ՝ զանգված, որն ունի 3 շարք, իսկ դրանցից յուրաքանչյուրը՝ 4 սյունակ՝

int a[3][4] = {  
 {0, 1, 2, 3} ,   /*  initializers for row indexed by 0 */
 {4, 5, 6, 7} ,   /*  initializers for row indexed by 1 */
 {8, 9, 10, 11}   /*  initializers for row indexed by 2 */
};

Ձևավոր փակագծերը, որոնք նախատեսված են շարքի համար, պարտադիր չեն: Հետևյալ սահմանումը հավասարազոր է նախորդ օրինակին՝

int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

Էլեմենի ավելացում երկչափ զանգվածում:

Երկչափ զանգվածում էլեմենտին կարելի է հասնել subscript-երի միջոցով, այսինքն զանգվածի շարքի և սյունակի ինդեքսների միջոցով: Օրինակ՝

int val = a[2][3];

Վերոնշյալ օրինակը կվերցնի զանգվածի 3-րդ շարքի 4-րդ էլեմենտը: Դուք կարող եք հաստատել այն վերոնշյալ դիագրամից:  Ահա օրինակ, որտեղ մենք կիրառել ենք nested ցիկլը երկչափ զանգվածի համար՝

#import <Foundation/Foundation.h>
 
int main ()
{
   /* an array with 5 rows and 2 columns*/
   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
   int i, j;
 
   /* output each array element's value */
   for ( i = 0; i < 5; i++ )
   {
      for ( j = 0; j < 2; j++ )
      {
         NSLog(@"a[%d][%d] = %d\n", i,j, a[i][j] );
      }
   }
   return 0;
}

Երբ վերոնշյալ կոդը կոմպիլացվում և իրականացվում է, մենք ստանում ենք հետևյալ արդյունքը՝

2013-09-14 01:28:20.458 demo[32018] a[0][0] = 0
2013-09-14 01:28:20.458 demo[32018] a[0][1] = 0
2013-09-14 01:28:20.458 demo[32018] a[1][0] = 1
2013-09-14 01:28:20.458 demo[32018] a[1][1] = 2
2013-09-14 01:28:20.458 demo[32018] a[2][0] = 2
2013-09-14 01:28:20.458 demo[32018] a[2][1] = 4
2013-09-14 01:28:20.458 demo[32018] a[3][0] = 3
2013-09-14 01:28:20.458 demo[32018] a[3][1] = 6
2013-09-14 01:28:20.458 demo[32018] a[4][0] = 4
2013-09-14 01:28:20.458 demo[32018] a[4][1] = 8

Նշենք, որ Դուք կարող եք ունենալ ցանկացած չափի զանգվածներ, սակայն, ամենայն հավանականությամբ դրանք, սովորաբար, կլինեն1-ը կամ 2-ը:

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.