Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1-semestr / 6-LEKCIYA ppt
.pdf
Mısal 4: Úsh ólshemli massiv
#include <iostream>
using namespace std;
int main() {
// Bul massiv 12 elementke shekem saqlay aladı (2x3x2)
int test[2][3][2] = {
{
{1, 2},
{3, 4},
{5, 6}
},
{
{7, 8},
{9, 10},
{11, 12}
}
};
// Mánislerdi tuwrı indeks penen kórsetiw
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
for (int k = 0; k < 2; ++k) {
cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] <<
endl;
}
}
}
return 0;
}
Nátiyje
test[0][0][0] = 1
test[0][0][1] = 2
test[0][1][0] = 3
test[0][1][1] = 4
test[0][2][0] = 5
test[0][2][1] = 6
test[1][0][0] = 7
test[1][0][1] = 8
test[1][1][0] = 9
test[1][1][1] = 10
test[1][2][0] = 11
test[1][2][1] = 12
Paydalanıwshı kirgiziwin úsh ólshemli massivte saqlaw hám onı kórsetiw ushın
C++ programması
3 massiv elementlerin
2 massivke uqsas.
Biraq, 3 manipulyaciya sebepli, biz tek
2 emes, al 3 ciklden ishke for ciklin
:
cikl i == 0 den i == 1 ge shekem birinshi
kiredi
cikl j == 0 den j == 2 ge shekem ekinshi
kiredi
ishki cikl k == 0 den k == 1 ge shekem
kiredi
,
menen eksponencial .

Kodqa táriyip:
#include <iostream> - Bul qatar standart kiris/shıǵıs operaciyaları ushın kerekli kitapxananı qosadı.
using namespace std; - Bul qatar std ataw keńisligin qollanıwdı belgilep, std:: prefiksin qollanıwdan
azat etedi.
int main() { - Bul qatar baǵdarlamanıń bas funkciyasın anıqlaydı.
int test[2][3][2] = { ... }; - Bul qatar 2x3x2 ólshemli úsh ólshemli pútin san massivin járiyalaydı hám
iniciallastıradı. Bul massiv 12 elementke shekem saqlay aladı.
for (int i = 0; i < 2; ++i) { - Bul sırtqı cikl, massivtiń birinshi ólshemi boyınsha jılısadı (0 den 1 ge
shekem).
for (int j = 0; j < 3; ++j) { - Bul ortadaǵı cikl, massivtiń ekinshi ólshemi boyınsha jılısadı (0 den 2 ge
shekem).
for (int k = 0; k < 2; ++k) { - Bul eń ishki cikl, massivtiń úshinshi ólshemi boyınsha jılısadı (0 den 1 ge
shekem).
cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl; - Bul qatar hár
bir massiv elementin onıń indeksleri menen birge basıp shıǵaradı.
return 0; - Baǵdarlamanıń tabıslı juwmaqlanǵanın bildiredi.
Bul kod úsh ólshemli massivti anıqlaydı, onı baslanǵısh mánisler menen toltıradı, hám keyin hár bir
elementti onıń indeksleri menen birge ekranda kórsetedi.

#include <iostream>
using namespace std;
int main() {
// Úsh ólshemli massivti jariyalaw hám iniciallastırıw
float x[2][4][3] = {
{ // x[0] - birinshi qatlamdaǵı elementler (i=0)
{1.1, 1.2, 1.3}, // x[0][0] - birinshi qatar (j=0)
{2.1, 2.2, 2.3}, // x[0][1] - ekinshi qatar (j=1)
{3.1, 3.2, 3.3}, // x[0][2] - úshinshi qatar (j=2)
{4.1, 4.2, 4.3} // x[0][3] - tórtinshi qatar (j=3)
},
{ // x[1] - ekinshi qatlamdaǵı elementler (i=1)
{5.1, 5.2, 5.3}, // x[1][0] - birinshi qatar (j=0)
{6.1, 6.2, 6.3}, // x[1][1] - ekinshi qatar (j=1)
{7.1, 7.2, 7.3}, // x[1][2] - úshinshi qatar (j=2)
{8.1, 8.2, 8.3} // x[1][3] - tórtinshi qatar (j=3)
}
};
// Massiv elementlerin shıǵarıw
cout << "Massiv elementleri:\n\n";
// Sırtqı cikl - qatlamlardı aylandıradı (i)
// i = 0 bolǵanda birinshi qatlam, i = 1 bolǵanda ekinshi qatlam
for(int i = 0; i < 2; i++) {
cout << "Qatlam " << i + 1 << ":\n";
// Ortanǵı cikl - qatarlardı aylandıradı (j)
// Hár qatlamda 4 qatar bar (j = 0 den 3 ke shekem)
for(int j = 0; j < 4; j++) {
cout << "Qatar " << j + 1 << ": ";
// Ishki cikl - qatardaǵı elementlerdi aylandıradı (k)
// Hár qatarda 3 element bar (k = 0 dan 2 ge shekem)
for(int k = 0; k < 3; k++) {
// x[i][j][k] - i-qatlamdaǵı, j-qatardaǵı, k-poziciyadaǵı element
cout << x[i][j][k] << " ";
}
cout << endl; // Hár qatardan keyin qatar taslaw
}
cout << endl; // Hár qatlamnan keyin qos qatar taslaw
}
// Massivtiń ulıwma ólshemin esaplaw
int total_size = 2 * 4 * 3; // qatlamlar * qatarlar * elementler
cout << "Massivtiń ulıwma ólshemi: " << total_size << " element" << endl;
return 0;
}
Nátiyje:
Programma tómendegishe nátiyjelerdi shıǵaradı:
Massiv elementleri:
Qatlam 1:
Qatar 1: 1.1 1.2 1.3
Qatar 2: 2.1 2.2 2.3
Qatar 3: 3.1 3.2 3.3
Qatar 4: 4.1 4.2 4.3
Qatlam 2:
Qatar 1: 5.1 5.2 5.3
Qatar 2: 6.1 6.2 6.3
Qatar 3: 7.1 7.2 7.3
Qatar 4: 8.1 8.2 8.3
Massivtiń ulıwma ólshemi: 24 element
Mısalı:
float x[2][4][3];
Bul x massivi eń kóbi menen 24 elementti saqlay aladı.
Massivtegi barlıq elementler sanın onıń ólshemleriniń kóbeymesi arqalı
tabıwımız múmkin:
2 x 4 x 3 = 24

2. STATIKALÍQ MASSIVLER
Statikalıq massivler - ólshemi kompilaciya waqtında belgilengen massivler.
Olardıń ólshemin programma orınlanıw processinde ózgertiw múmkin emes.
const int SIZE = 5;
int arr[SIZE]; // Statikalıq massiv

Statikalıq massivler mısalı
#include <iostream>
using namespace std;
const int SIZE = 5;
int main() {
int arr[SIZE]; // Statikalıq massiv
// Massivti toltırıw
for(int i = 0; i < SIZE; i++) {
arr[i] = i * 2;
}
// Massiv elementlerin kórsetiw
cout << "Massiv elementleri:" << endl;
for(int i = 0; i < SIZE; i++) {
cout << "arr[" << i << "] = " << arr[i] << endl;
}
// Massiv ólshemin ózgertiw múmkin emes
// arr[SIZE] = 10; // Bul qáte beredi
return 0;
}
Bul mısalda, biz ólshemi 5 bolǵan statikalıq massiv jaratamız.
Massiv elementlerin toltırıp, olardı ekranda kórsetemiz.
Statikalıq massivtiń ólshemin ózgertiw múmkin emes ekenligin
kórsetiw ushın, kommentariyge alınǵan qáte qaytaratuǵın
qatardı qostıq.
Nátiyjesi tómendegidey boladı:
Massiv elementleri:
arr[0] = 0
arr[1] = 2
arr[2] = 4
arr[3] = 6
arr[4] = 8

3. Elementlerdi izlew usılı
Massivte elementlerdi izlewdiń bir neshe usılı bar:
Sızıqlı izlew
int linearSearch(int arr[], int n, int x) {
for (int i = 0; i < n; i++) {
if (arr[i] == x)
return i;
}
return -1;
}

Sızıqlı izlew mısalı:
#include <iostream>
using namespace std;
const int SIZE = 10;
int linearSearch(int arr[], int n, int x) {
for (int i = 0; i < n; i++) {
if (arr[i] == x)
return i;
}
return -1;
}
int main() {
int arr[SIZE] = {5, 2, 8, 12, 1, 6, 9, 3, 7, 4};
int x;
cout << "Massiv elementleri: ";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;
cout << "Izleniwi kerek bolǵan sandı kiritiń: ";
cin >> x;
int result = linearSearch(arr, SIZE, x);
if (result == -1)
cout << x << " sanı massivte tabılmadı." << endl;
else
cout << x << " sanı " << result << "-indekste tabıldı." <<
endl;
return 0;
}
Bul mısalda, biz 10 elementten turatuǵın massiv
jaratamız hám onı baslanǵısh mánisler menen
toltıramız. Keyin, paydalanıwshıdan izleniwi kerek
bolǵan sannı soraymız hám linearSearch()
funkciyasın qollanıp, usı sandı massivten izleymiz.
linearSearch() funkciyası massivti element boyınsha
qarap shıǵadı hám izlenip atırǵan element tabılsa,
onıń indeksin qaytaradı. Eger element tabılmasa,
funkciya -1 qaytaradı.
Nátiyjesi tómendegidey boladı (mısalı, eger
paydalanıwshı 6 sanın kiritken bolsa):
Massiv elementleri: 5 2 8 12 1 6 9 3 7 4
Izleniwi kerek bolǵan sannı kiritiń: 6
6 sanı 5-indekste tabıldı.

Sızıqlı izlew mısalı:
#include <iostream>
using namespace std;
const int SIZE = 10;
int linearSearch(int arr[], int n, int x) {
for (int i = 0; i < n; i++) {
if (arr[i] == x)
return i;
}
return -1;
}
int main() {
int arr[SIZE] = {5, 2, 8, 12, 1, 6, 9, 3, 7, 4};
int x;
cout << "Massiv elementleri: ";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;
cout << "Izleniwi kerek bolǵan sandı kiritiń: ";
cin >> x;
int result = linearSearch(arr, SIZE, x);
if (result == -1)
cout << x << " sanı massivte tabılmadı." << endl;
else
cout << x << " sanı " << result << "-indekste tabıldı." <<
endl;
return 0;
}
Kodqa táriyip
#include <iostream> - Bul qatar standart kiris/shıǵıs operaciyaları ushın
kerekli kitapxananı qosadı.
using namespace std; - Bul qatar std ataw keńisligin qollanıwdı belgilep, std::
prefiksin qollanıwdan azat etedi.
const int SIZE = 10; - Massiv ólshemin anıqlaytuǵın turaqlı san járiyalaydı.
int linearSearch(int arr[], int n, int x) { ... } - Sızıqlı izlew funkciyasın
anıqlaydı. Ol massivti, onıń ólshemin hám izlenip atırǵan elementti argument
retinde aladı.
int main() { ... } - Baǵdarlamanıń bas funkciyasın anıqlaydı.
int arr[SIZE] = {5, 2, 8, 12, 1, 6, 9, 3, 7, 4}; - 10 elementten turatuǵın
massivti járiyalaydı hám iniciallastıradı.
int x; - Izleniwi kerek bolǵan sandı saqlaw ushın ózgeriwshi járiyalaydı.
cout << "Massiv elementleri: "; - Ekranda xabardı kórsetedi.
for (int i = 0; i < SIZE; i++) { cout << arr[i] << " "; } - Massiv elementlerin
ekranda kórsetedi.
cout << "Izleniwi kerek bolǵan sannı kiritiń: "; - Paydalanıwshıdan san
kiritiwdi soraydı.
cin >> x; - Paydalanıwshı kirgiziwin x ózgeriwshisine jazadı.
int result = linearSearch(arr, SIZE, x); - linearSearch funkciyasın shaqırıp,
nátiyjesin result ózgeriwshisine jazadı.
if (result == -1) { ... } else { ... } - Izlew nátiyjesin tekseredi hám sáykes
xabardı kórsetedi.
return 0; - Baǵdarlamanıń tabıslı juwmaqlanǵanın bildiredi.
Bul kod sızıqlı izlew algoritminiń jumısın kórsetedi, ol massivte berilgen
elementi izleydi hám onıń ornın qaytaradı yamasa elementti taba almasa -1
qaytaradı.

Itibarıńız ushın raxmet
Соседние файлы в папке 1-semestr
