ЖИЫМДАР. БІРӨЛШЕМДІ ЖИЫМДАРДЫ ӨНДЕУ
Жиым (немесе массив) деп ат қойылған біртекті шамалар тізбегін айтады.
Жиым элементін немесе компьютер жадының бір ұясын көрсету үшін жиымның атын және оның индексін көрсету қажет. Индекс бүтін сан немесе бүтін өрнек болуы мүмкін. Жиым элементтері мэнін оларды хабарлау кезінде меншіктеу арқылы немесе енгізу жолымен беруге болады. Егер алгашқы иницалдау кезінде жиым элементтерінің көрсетілген мәндері жалпы элементтер санынан аз болса, онда қалган жиым элементтері нөлдік мән кабылдайды.
Мысалы, мынадай тізбек
0 1 1 2 3 5 8 13 21
Фибоначчи тізбегінің 9 элементін кұрайды (алгашқы екі санды таңдап альіп, келесі санды алдыңгы екеуін косу жолымен алады).
Ал мынау өзіне жэне бірге бөлінетін жай сандар тізбегінің алғашқы 7 элементі:
1 3 5 7 11 13 17
Осындай бір текті тізбектерді жиым түрінде С/С-н- тілінде сипаттап, оган бастапқы мән беріп инициалдау үшін былай жазамыз:
i n t fib [8 ]= { 0 , 1, 1, 2 , 3, 5, 8 , 13, 2 1 ); немесе
i n t fib []= { 0 , 1, 1, 2, 3, 5, 8 , 13, 2 1 ); деп көрсетеміз,
мұндагы f ib - жиым аты, онын элементтерінің типі int, ал ені, яғни ұзындығы - 9, жиым элементтерінің индекстері 0-ден бастап нөмірленеді, сол себепті 9 элемент 8 индекспен көрсетіледі. Мэндері толық көрсетілсе, индексті жазбаса да болады. Ал былай болса,
i n t fib [ 8 ]={0 , 1 , 2 , 3 ); калган элементтері 0 болып саналады.
n=1 0 ; k=2 ; fib [n -k ] = {0 , 1 , 2 , 3 ); десе де болады.
Жогарыдагы тізбектің 7-ші элементін бір бүтін айнымалыга меншіктеу үшін былай жазамыз.
i n t a = fib [ 6 ]; / / a = 8
Жиымды сипаттау кезінде оның ені накты санмен көрсетіледі, мысалы, а [2 0 ] , а[n] деп жазу үшін алдын ала # d efine n 2 0 жолы көрсетіледі немесе const n=2 0 ; болып жазылады.
Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл операторлары колданылады. Төменде 10 элементі бар жиымды 0-ден 9-га дейінгі сандармен толтырып, содан кейін оларды кері бағытта экранга шыгару мысалы көрсетілген:
main ()
{ int ia [ 1 0 ];
int index ;
for (index = 0; index <1 0 ; index ++)
ia [index] = index;
for (index = 9 ; index >=0 ; index -- )
printf (" %i” , ia [in d e x ]); }
С тілінде жиымды жиымга бірден теңестіруге болмайды, мысалы, a0, а1, а2, ... ,а9 және с0, с1, с2, ....,с9 жиымдары үшін а=с деп жазуға рұқсат етілмейді. Олардын элементтерін цикл ішінде бір-біріне біртіндеп теңестіру керек.
Мысалы, мынадай цикл жазылуы тиіс:
int a[9] , с[9 ] ;
for (int і=0; і< 9 ; ++і)
а [і] = с [і] ;
Жиым элементтері бастапқы нөлдік мәнді автоматты түрде ала алмайды, сондықтан программалаушылар жиым элементерінің барлығын автоматты турде нөлге айнадцыру үшін, кем дегенде оның бірінші элементіне нөлді меншіктеуі керек.
Жиым элементерін нөмірлеу нөлден басталады:
int с [12]; / / с [0] —с[11] жиымын хабарлау
Жиым элементінің позициялық (реттік) нөмірі — индексі — квадрат (тік) жақша ішіне жазылады.
1>
Достарыңызбен бөлісу: |