Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
20.02.2017
Размер:
19.51 Кб
Скачать

4-дәріс.Тақырыбы: Массивтер.

1. Массивтер.

2. Бір өлшемді және екі өлшемді массивтерді қолдану арқылы программаны өңдеу.

Массивтер деп бірдей типті мәліметтердің логикалық байланысқан элементтерден тұратын мәліметтер құрылымын айтамыз. Программаның орындалу барысында массивтің өлшемі тұрақты болады.

Массивтің баяндалуы. Массивтер бірдей типті және бір атты логикалық байланысқан жадының ұяшықтар тобы болып табылады. Массивтің элементіне қатынас жасау үшін массивтегі осы элементтің массивтің атын және позициясының нөмірін көрсету қажет. Кез келген массивтің бірінші элементі нөлдік реттік нөмерге ие болады. Массивті баяндағанда массивтің атын, әрбір элементінің типін және элементтерінің санын көрсету керек. Мысалы:

int b[100], x[27];

Төменде келтірілген программада 10 элементтен тұратын n бүтін типті массивтің элементтерін нөлмен инициалдау үшін for қайталау құрылымы қолданылады.

/* Массивті инициалдау */

#include <stdio.h>

main()

{ int n[10], i;

for (i=0; i<=9; i++)

n[i]=0; /* Массивті инициалдау */

for (i=0; i<=9; i++) /* Массив элементтерін шығару */

printf(“%3d%10d\n”, i, n[i]);

return 0; }

Программаның нәтижесі:

0 0

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

22

Массивтің элементтері массивті баяндаудың соңына теңдік белгісін және үтірмен бөлінген инициалданатын мәндер (фигурлы жақшаға алынған) тізімін қою жолымен инициалдауға болады. Төменде келтірілген программа бүтін типті массивті оң 10 мәндермен инициалдайды.

/* Баяндауда массивті инициалдау */

#include <stdio.h>

main()

{ int i, n[10]={2, 27, 64, 18, 95, 14, 90, 70, 6, 3};

for (i=0; i<=9; i++)

printf(“%3d”, n[i]);

return 0; }

Программаның нәтижесі:

2 27 64 18 95 14 90 70 6 3

Егер массивтің элементтеріне қарағанда инициалданатын мәндердің саны аз болса, онда қалған элементтер автоматты түрде нөлмен инициалданады. Мысалы, n массивтің элементтерін баяндау арқылы нөлдермен инициалдауға болады.

int n[10]={0};

мұнда бірінші элемент нөлмен инициалданады және қалған тоғыз элемент автоматты түрде нөлмен инициалданады.

Егер массивтің инициалданатын мәндердің тізімімен баяндауында массивтің өлшемі кқрсетілмесе, онда массивтің элементтерінің саны инициалдау тізіміндегі элементтердің санына тең болады.

Си тілінде массивтердің бірнеше индекстері болуы мүмкін. Көп өлшемді массивтер жиі жол және бағандар бойынша реттелген мәндерден тұратын кестелерді бейнелеу үшін қолданылады. Кесенің нақты элементін иднтификациялау үшін екі индекс көрсетіледі: бірінші-элементтің жолын көрсетеді, ал екіншісі бағанын көрсетеді. Осындай кестелер немесе массивтер екі өлшемді массивтер деп аталады.

Көп өлшемді массив бір өлшемді массив сияқты оның баяндалуында инициалдануы мүмкін.

Мысалы,

int b[2][2]={{1, 2}, {3, 4}};

Келесі программа екі өлшемді массивтің баяндалу кезіндегі инициалдауын көрсетеді. Программада екі жол және үш бағанды (әрқайсысы алты элементтен тұрады) үш массив баяндалады. Әрбір массивтің элементтерін шығару үшін программада printarray функциясы шақырылады.

/* Көп өлшемді массивті инициалдау */

#include <stdio.h>

void printarray(int [][3]);

main()

{ int a1[2][3] = {{1, 2, 3}, {4, 5, 6}}, a2[2][3] = {1, 2, 3, 4, 5}, a3[2][3] =

{{1, 2}, {4}},

printf(“Массив А1”);

printfarray(a1);

23

printf(“Массив А2”);

printfarray(a2);

printf(“Массив А3”);

printfarray(a3);

printf(“\n”);

return 0; }

void printarray(int a[][3]);

{ int i, j;

for (i=0; i<=1; i++)

{ for (j=0; j<=2; j++)

printf(“%d ”, a[i][j]);

printf(“\n”); }

}

Программаның нәтижесі:

Массив А1

1 2 3

4 5 6

Массив А2

1 2 3

4 5 0

Массив А3

1 2 0

4 0 0