Лекция мақсаты мен міндеттері:
Жиым
Жиымды сипаттау
Жиым элементтерінің қосындысын есептеу
Жиым элементтерінің ең кішісін және ең үлкенін анықтау
Қысқаша теориялық мағлұаттар
Лекция мазмұны: Жиым (массив) – ақырлы өлшемді бір типті мәліметтер тізбегі. Жиым – күрделі типті нысан. Жиымның әрбір элементі жиымның аты мен индексі (бүтін сан) арқылы анықталады да, әрі сол элементке қол жеткізуге мүмкіндік береді. Бір өлшемді жиымдарды қарастырайық. СИ тіліндегі бір өлшемді жиымдардың индекстері 0-ден басталады. Программадағы бір өлшемді жиымдар былай жарияланады:
<Тип> < жиымның аты >[өлшемі];
Мұндағы , өлшем – бір өлшемді жиымдардың элементінің саны.
Жиымның өлшемі константамен немесе константалық өрнекпен анықталады. Жиымның өлшемін айнымалы етіп беруге болмайды, мұндай жағдайда жадыны динамикалық бөлу тәсілі қолданылады.
Бүтін типті жиымды жариялау мысалы:
int a[5];
а жиымының бірінші элементі а[0], екіншісі - а[1], …, бесінші элементі - а[4]. Си тілінде индекстің жиымның шегінен шығып кетуі бақыланбайды. Жиымның өлшемін, индексін программист бақылайды.
Массив немесе жиым – бір типтегі элементтердің реттелген жиыны. Олар бір атаумен – идентификатормен аталады да, индексті айнымалы ұғымына сәйкес келеді. Мысалы, мынадай тізбек
1 1 2 3 5 8 13 21
Фибоначчи тізбегінің 9 элементін құрайды (алғашқы екі санды таңдап алып, келесі санды алдыңғы екеуін қосу жолымен алады). Ал мынау жай сандар тізбегінің алғашқы 7 элементі:
1 3 5 7 11 13 17
Си тілінде жиымды сипаттап, оған бастапқы мән беріп инициалдау үшін былай жазамыз:
int fib[8]={0, 1, 2, 3, 5, 8, 13, 21}; немесе
int fib[]={0, 1, 2, 3, 5, 8, 13, 21}; деп көрсетеміз. мұндағы fib – жиым аты, оның элементтерінің типі int, ал ені, яғни ұзындығы – 9, жиым элементтерінің индекстері 0-ден бастап нөмірленеді, сол себепті 9 элемент 8 индекспен көрсетіледі. Мәндері көрсетілсе, индексті жазбаса да болады. Ал былай болса,
int fib[8]={0, 1, 2, 3}; қалған элементтер 0 болып саналады.
n=10; k=2; fib[n-k]={0, 1, 2, 3}; десе де болады.
Жоғарыдағы тізбектің 7-ші элементін бір бүтін айнымалыға меншіктеу үшін былай жазамыз.
int а = fib[6]; // а = 13
Жиымды сипаттау кезінде оның ені нақты санмен көрсетіледі, мыс., a[20], a[n] деп жазу үшін алдын ала
define n 20 жолы көрсетіледі немесе
const n=20; болып жазылады.
Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл операторы қолданылады. Төменде 10 элементі бар жиымды 0-ден 9-ға дейінгі сандармен толтырып, сонан кейін оларды кері бағытта экранға шығару мысалы көрсетілген:
main ()
{
int ia[10];
int index;
for (index = 0; index <10; index ++)
ia[index] = index ;
for (index = 9; index >=0; index --)
printf(“ %i”, ia[index]);
Си тілінде жиымды жиымға бірден теңестіруге болмайды, мыс., а0, а1, а2, ... , а9 және с0, с1, с2, ... , с9 жиымдары үшін а=c деп жазуға болмайды. Олардың элементтерін цикл ішінде бір-біріне біртіндеп теңестіру керек.
int a[9], c[9];
…
a=c; // қате
Мұның орнына мынадай цикл жазу керек:
int a[9], c[9];
for (int i=0; i<9; ++i)
a[i]=c[i];
Достарыңызбен бөлісу: |