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

7-LEKCIYA

.docx
Скачиваний:
0
Добавлен:
27.11.2023
Размер:
435.61 Кб
Скачать

7-LEKCIYA. KÓP ÓLSHEMLI MASSIVLER. STATIKALIQ MASSIVLER. MASSIV ELEMENTLERIN SARALAW HÁM IZLEW USÍLLARÍ. MASSIVLER ÚSTINDE HÁR TÚRLI ÁMELLER ORÍNLAW USÍLLARÍ.

C++ tilinde massivler elementiniń tipine sheklewler qoyılmaydı, biraq bul tipler shekli ólshemdegi obyektlerdiń tipi bolıwı kerek. Sebebi, kompilyator massivtiń yadtan qansha orın (bayt) iyelewin esaplay alıwı kerek. Ásirese, massiv komponentası massiv bolıwı múmkin (vektorlar-vektorı), nátiyjede matrica dep atalıwshı eki ólshemli massiv payda boladı.

Eger matricanıń elementi de vektor bolsa, úsh ólshemli massivler – kub payda boladı. Usı jol menen sheshilip atırǵan máselege baylanıslı túrde qálegen ólshemdegi massivlerdi jaratıw múmkin.

Eki ólshemli massivtiń sintaksisi tómendegi kóriniste boladı:

< tip> <at> [<uzınlıq>] [<uzınlıq>]

Máselen, 10x20 ólshemli haqıyqıy sanlar massiviniń járiyalanıwı:

float a[10][20];

Járiyalanǵan A matricanıń kórinisi 2-súwrette keltirilgen.

2-súwret. Eki ólshemli massivtiń yadtaǵı jaylasıwı.

Endi adres kóz-qarasınan kóp ólshemli massiv elementlerine múráját etiwdi kórsek. Tómendegi járiyalawlar berilgen bolsın:

int a[3][2];

float b[2][2][2];

Birinshi mısalda, eki ólshemli massiv, yaǵnıy 2 qatar hám 3 baǵanadan ibarat matrica járiyalanǵan, ekinshisinde úsh ólshemli 3 dana 2x2 matricadan ibarat bolǵan massiv berilgen. Onıń elementlerine múráját sxeması:

3-súwret. Eki ólshemli massiv elementlerine múráját.

Bul jerde a[i] kórsetkishinde i-shi qatardıń baslanǵısh adresi jaylasadı, massiv elementine a[i][j] kórinisindegi tiykarǵı múrájáttan tısqarı úskeneli múráját etiw múmkin: *(*(a+i)+j) yáki *(a[i]+j).

4-súwret. Úsh ólshemli massivtiń yadta shólkemlesiwi.

Massiv elementlerine múráját etiw ushın attan keyin kvadrat qawısta hár bir ólshem ushın indeks jazılıwı kerek, máselen b[i][j][k]. Bul elementke úskeneli múráját etiwge de boladı hám onıń variantlari:

Kóp ólshemli massivlerdi inicializacialaw

Massivlerdi inicializacialaw tómendegi mısallarda kórsetilgen:

Birinshi operatorda baslanǵısh mánisler izbe-iz jazılǵan, ekinshi operatorda mánisler toparlasqan, úshinshi operatorda da toparlasqan, biraq ayrım toparlarda aqırǵı mánisler berilmegen.

Sáykes programma teksti:

int main()

{

const int n = 4, m = 5;

float a[m][n], b[n], c[m];

int i, j; float s;

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

for(j = 0; j < n; i++)

cin >> a[i][j];

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

cin>>b[i];

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

{

for(j = 0, s = 0; j < n; j++)

s += a[i,j] * b[j];

c[i] = s;

}

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

cout << ”\tc[“ << i << ”]=” << c[i];

return 0;

}

Соседние файлы в предмете Программирование на C++