Մեկ չափանի զանգվածը - մեկ ընդհանուր անունով միևնույն տեսակի տվյալների համախումբ է:
Մեկ չափանի զանգվածների հայտարարման համար օգտագործում են հետևյալ ընդհանուր գրելաձևը`
Տվյալի տեսակ Զանգվածի անուն [Ամբողջ թիվ];
Ամբողջ թվով տրվում է զանգվածի տարրերի քանակը, որը պետք է ունենա զերոյից մեծ արժեքներ: Եթե այն ունի n արժեք, ապա նրա արժքների բազմությունը կընդունի 0-ից մինչև n-1 արժեքները: Այդ արժեքների բազմությանը անվանում են ինդեքսներ: Ինդեքսների տրման համար կարող են օգտագործվել արտահայտություններ, որոնց կատարման արդյունքում ստացվում է ամբողջ թիվ: Ինդեքսները կարող են ունենալ char, sort, int, long և enum տիպեր: Օրինակª
double an[4];
հայտարարումով ստեղծվում է 4 տարր ունեցող զանգված, որոնցից յուրաքանչյուրը կարող է ունենալ double տիպի արժեք:
Զանգվածի տարրերին կարելի է վերագրել սկզբնական արժեքներ վերագրման հրահանգի միջոցով : Օրինակ`
an[0] = 4.93;
an[1] = -14.3;
an[2] = 0.5;
an[3] = 1.67;
Զանգվածի տարրերին սկզբնական արժեքներ կարելի է վերագրել նաև արժեքների ցուցակի օգտագործմամբ հետևյալ գրելաձևի միջոցովª
int ae[5] = {23, 10, 16, 37, 12};
Փակագծերի մեջ պերք է տրվի առնվազն մեկ արժեք: Եթե փակագծերի մեջ գրված արժեքների քանակը գերազանցում է զանգվածի տարրերի քանակին, ապա սխալի մասին հաղորդագրություն է տրվում, իսկ եթե չի գերազանցում, ապա մնացած տարրերին տրվում է 0 արժեք:
Եթե զանգվածի տարրերին արժեքներ են վերագրվել ցուցակի միջո-ցով,ապա զանգվածի տարրերի քանակը կարելի է ցույց չտալ:Այդ դեպքում զանգվածի տարրերի քանակը կոմպիլյատորն է հաշվում: Օրինակ, այս
int ac[ ] = {23, 10, 16, 37, 12, 27};
հրահանգի կատարման ժամանակ ac զանգվածի համար կնախատեսվի 6 տարր:
Սիմվոլային զանգվածի տարրերին սկզբնական արժեքներ կարելի է վերագրել ինչպես ցուցակով, այնպես էլ տողային լիտերալի միջոցով: Օրինակª
char ca1[ ] = { ‘C’, ‘+’, ‘+’};
char ca2[ ] = { “C++”};
հրահանգների կատարմից հետո ca1 զանգվածը կունենա 3 տարր, իսկ ca2 զանգվածըª 4: Վերջին դեպքում հաշվի է առնվում նաև տողային լիտերալի վերջից դրված զերոյական սիմվոլը: Ընդ որում, սխալ է
char ca2[ 3 ] = { “C++”};
տեսքով գրված հրահանգը:
Ներկառուցված զանգվածները պատճենել չի կարելի: Օրինակ, եթե
int ac1[ 6 ] = {23, 10, 16, 37, 12, 27};
int ac2[ 6 ] ;
սխալ է
ac1 = ac2;
հրահանգը:
Որպեսզի ac1 զանգվածը պատճենվի ac2 զանգվածի մեջ, պետք է պատճենման գործողությունը կատարվի այդ զանգվածների բոլոր տարրերի հետ: Հետևյալ ծրագիրը ac1 զանգվածը պատճենում է ac2-ի մեջ:
const int ia = 6;
int ac1[ ia] = {23, 10, 16, 37, 12, 27};
int main()
{
int ac2[ ia ] ;
int i1;
for (i1 = 0; i1 < ia; i1++)
ia2[ i1 ] = ia1[ i1];
return 0;
}
Եթե ունենք
int ac1[ 6 ] = {23, 10, 16, 37, 12, 27};
հայտարարման հրահանգը, ապա ծրագրում զանգվածի անվան
ac1;
գրելաձևը համարժեք է նրա առաջին տարրի հասցեինª &ac1[ 0 ]:
Զանգվածի առաջին տարրին կարելի է դիմել երկու ձևովª
*ac1; կամ ac1[ 0 ];
գրելաձևերով:
Զանգվածի երկրորդ տարրի հասցեին դիմելու համար պետք է գրելª
&ac1[ 1 ]; կամ ac1+1;
Խնդիր: Պահանջվում է գտնել տված
125.6 178.9 132.9 23.8 452.6 12.7 125.7
6 թվերի գումարը: Խնդրի լուծումը իրագործվում է հետևյալ ծրագիրի միջոցով
#include <iostream.h>
const int TOX = 6;
int main()
{
long double ak[TOX] =
{ 125.6 , 178.9, 132.9, 23.8, 452.6, 12.7, 125.7 };
int i1;
long double dsum = 0;
for (i1 = 0; i1 < TOX; i1++)
dsum = dsum + ak[ i1] ;
cout << dsum << endl;
return 0;
}
Комментариев нет:
Отправить комментарий