10-AMELIY SABAQ
.pdf10-ÁMELIY SABAQ. BIR ÓLSHEMLI MASSIVLERDI JÁRIYALAW HÁM OLARDÍŃ ELEMENTLERINE BAYLANÍSLARDÍ SHÓLKEMLESTIRIWGE TIYISLI MÁSELELER SHESHIW.
Jumıstıń maqseti: Bir ólshemli massivlerdi járiyalaw. Massiv elementlerine baylanısları shólkemlestiriw.
Teoriyalıq bólim:
C++ tilinde massiv-bir tiptegi bir neshe mánisleri saqlay alatuǵın ózgeriwshi. Yadta izbe-iz jaylasqan bir qıylı tiptegi mánislerge massiv delinedi. Ádette massivlerge bolǵan talap, úlken kólemdegi, biraq sheklengen muǵdardaǵı hám tártiplengen mánislerdi qayta islew menen baylanıslı máselelerdi sheshiwde júzege keledi.
Ámeliy bólim:
Mısalı klasta 27 oqıwshı bar hám biz olardıń barlıǵınıń bahaların saqlawımız kerek. 27 óz aldına ózgeriwshi mánislerdi dúziwdiń ornına tek massiv dúzemiz:
double baha[27];
Bunda baha eń kóbi 27 double tipindegi elementlerdi saqlay alatuǵın massiv bolıp tabıladı. C++ tilinde massivlerdiń ólshemi menen tipin járiyalaǵannan keyin ózgertiw múmkin emes.
C++ massivtiń járiyalanıwı:
dataType arrayName[arraySize];
Mısalı.
int x[6];
Bunda,
intsaqlanatuǵın element tipi
x- massiv atı
6- massiv ólshemi
C++ te massiv elementlerine baylanısıw
C++ te massivtiń hárbir elementi san menen baylanıslı. San massiv indeksi retinde belgili. Biz sol indekslerdi paydalanıw arqalı massiv elementlerine baylanısa alamız.
// syntax to access array elements
array[index];
Joqarıdaǵı x massivti qarastıramız.
C++ tilinde massiv elementleri
Este saqlaw kerek:
Massiv indeksleri 0 den baslanadı. Mánisi x[0] indekste saqlanǵan 0 birinshi element.
Eger massiv ólshemi n bolsa, sońǵı element (n-1) indekste saqlanadı. Bul mısalda, x[5] sońǵı element bolıp tabıladı.
Massiv elementleriniń izbe-iz adresleri boladı. Mısalı, dáslepki adres 2120x[0] bolsın. Sonnan keyingi elementtiń adresi 2124, adresi 2128 boladı hám taǵı basqa. Bunda hárbir elementtiń ólshemi 4 ke artadı. Sebebi ólshemi
4 bayt. x[1]x[2] int
C++ te massivti isle túsiriw (inicializaciyalaw)
C++te járiyalawda massivti inicializaciyalawǵa boladı. Mısalı,
//massivti járiyalaw hám iske túsiriw
int x[6] = {19, 10, 8, 17, 9, 15};
Járiyalawda massiv massiv inicializaciyasının basqa usılı:
// massivti járiyalaw hám iske túsiriw
int x[] = {19, 10, 8, 17, 9, 15};
Bul jerde biz massivtiń ólshemin aytqan joqpız. Bunday jaǵdaylarda kompilyator ólshemdi avtomat túrde esaplaydı.
Massiv elementlerin kiritiw hám shıǵarıw:
int mark[5] = {19, 10, 8, 17, 9}
//4shi elementti 9ǵa ózgertiw mark[3] = 9;
//paydalanıwshı kirgiziw
//mánisti úshinshi orında saqlaw cin >> mark[2];
//paydalanıwshı kirgiziw
//i-shi orınǵa qoyıw
cin >> mark[i-1];
//massivtiń birinshi elementin basıp shıǵarıw cout << mark[0];
//massivtiń i-shi elementin basıp shıǵarıw cout >> mark[i-1];
1-mısal: Massiv elementlerin kórsetiw:
#include <iostream>
using namespace std;
int main() {
int sanlar[5] = {7, 5, 6, 12, 35};
cout << "Sanlar: ";
//Massiv elementlerin shıǵarıw
//ciklǵa tiykarlanǵan diapazondı tańlaw for (const int &n : sanlar) {
cout << n << " ";
}
cout << "\Sanlar: ";
//Massiv elementlerin shıǵarıw
//dástúrli for ciklın paydalanıw for (int i = 0; i < 5; ++i) {
cout << sanlar[i] << " ";
}
return 0;
}
Kodtı iske túsiriw:
Natiyje:
Sanlar: 7 5 6 12 35
Sanlar: 7 5 6 12 35
Bunda biz i=0 den i=4 ke shekemgi for qaytalaw ciklın qollandıq. Hárbir iteraciyada biz sanlar[i] di basıp shıǵardıq.
2-mısal: Paydalanıwshıdan maǵlıwmatlardı alıń (kirgiziw) hám olardı massivte saqlaw
#include <iostream> using namespace std;
int main() {
int sanlar[5];
cout << "5 sandı kirgiziń: " << endl;
// paydalanıwshıdan massiv kiritiwdi soraw for (int i = 0; i < 5; ++i) {
cin >> sanlar[i];
}
cout << "Sanlar: ";
// massiv elementlerin shıǵarıw for (int n = 0; n < 5; ++n) {
cout << sanlar[n] << " ";
}
return 0;
}
Kodtı iske túsiriw: