
Bir ólshemli massivler. Statikalıq massivler. Elementlerdi izlew usılı
.pdf
Bir ólshemli massivler. Statikalıq massivler. Elementlerdi izlew usılı. Elementler ústinde ámeller.
C++ TILINDE BIR ÓLSHEMLI MASSIVLER
C++ tilinde bir ólshemli massivler - bul bir qatarda jaylasqan birdeý tiptegi elementler toplamı. Olar programmada kóp sanlı maǵlıwmatlardı saqlawda hám olarǵa tez kiriwde qollanıladı.
Massivti járiyalaw
Bir ólshemli massivti járiyalaw ushın tómendegi sintaksisti qollanamız:
tip massiv_atı[ólshem];
Mısalı:
int sanlar[5]; // 5 elementli pútin sanlar massivi
Massivge mánisler beriw
Massiv elementlerine mánislerdi eki usılda beriwge boladı:
Járiyalaw waqtında:
int sanlar[5] = {1, 2, 3, 4, 5};
Indeks arqalı:
sanlar[0] = 1; sanlar[1] = 2;
// hám t.b.
Massiv elementlerine kiriw
Massiv elementlerine olardıń indeksi arqalı kiremiz. Indeksler 0 den baslanadı:
int birinshi_element = sanlar[0]; // 1-shi element int ekinshi_element = sanlar[1]; // 2-shi element
Massiv uzınlıǵı
C++ te massiv uzınlıǵın tabıw ushın sizeof() operatorın qollanamız:
int uzınlıq = sizeof(sanlar) / sizeof(sanlar[0]);
Massivti cikl menen islew
Kóbinese massiv elementlerin cikl járdeminde qayta isleymiz:
for(int i = 0; i < 5; i++) {

cout << sanlar[i] << " ";
}
Bir ólshemli massivler - bul C++ tegi áhmiyetli strukturalardıń biri. Olar maǵlıwmatlardı effektiv saqlawǵa hám qayta islewge járdem beredi.
ÁMELIY MÍSALLAR
1-mısal: Massivti járiyalaw hám tolıqtırıw
#include <iostream> using namespace std;
int main() {
int sanlar[5];
for(int i = 0; i < 5; i++) { sanlar[i] = i * 2;
}
cout << "Massiv elementleri:" << endl; for(int i = 0; i < 5; i++) {
cout << sanlar[i] << " ";
}
return 0;
}
2-mısal: Massiv elementlerin qosıw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {1, 2, 3, 4, 5}; int jámi = 0;
for(int i = 0; i < 5; i++) { jámi += sanlar[i];
}
cout << "Elementler jámi: " << jámi << endl;
return 0;
}
3-mısal: Massivtegi eń úlken elementti tabıw
#include <iostream> using namespace std;
int main() {
int sanlar[7] = {12, 45, 7, 23, 56, 89, 34}; int eń_úlken = sanlar[0];
for(int i = 1; i < 7; i++) { if(sanlar[i] > eń_úlken) {
eń_úlken = sanlar[i];

}
}
cout << "Eń úlken element: " << eń_úlken << endl;
return 0;
}
4-mısal: Massiv elementlerin tártiplew
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {64, 34, 25, 12, 22}; int n = 5;
for(int i = 0; i < n-1; i++) { for(int j = 0; j < n-i-1; j++) {
if(sanlar[j] > sanlar[j+1]) {
// Elementlerdi almastırıw int waqıtsha = sanlar[j]; sanlar[j] = sanlar[j+1]; sanlar[j+1] = waqıtsha;
}
}
}
cout << "Tártiplengen massiv:" << endl; for(int i = 0; i < n; i++) {
cout << sanlar[i] << " ";
}
return 0;
}
5-mısal: Massiv elementlerin keri shıǵarıw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {1, 2, 3, 4, 5}; int n = 5;
cout << "Keri shıǵarılǵan massiv:" << endl; for(int i = n-1; i >= 0; i--) {
cout << sanlar[i] << " ";
}
return 0;
}
6-mısal: Massivdegi jup hám taq sanlar sanın esaplaw
#include <iostream> using namespace std;
int main() {

int sanlar[8] = {1, 2, 3, 4, 5, 6, 7, 8}; int jup_sanı = 0, taq_sanı = 0;
for(int i = 0; i < 8; i++) { if(sanlar[i] % 2 == 0) {
jup_sanı++;
} else { taq_sanı++;
}
}
cout << "Jup sanlar sanı: " << jup_sanı << endl; cout << "Taq sanlar sanı: " << taq_sanı << endl;
return 0;
}
7-mısal: Massivtegi elementlerdi qaytalaw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {1, 2, 3, 2, 1}; int n = 5;
cout << "Qaytalanǵan elementler:" << endl; for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) { if(sanlar[i] == sanlar[j]) {
cout << sanlar[i] << " "; break;
}
}
}
return 0;
}
8-mısal: Massivtegi eń kishi element indeksin tabıw
#include <iostream> using namespace std;
int main() {
int sanlar[6] = {8, 4, 2, 9, 5, 7}; int n = 6;
int eń_kishi_index = 0;
for(int i = 1; i < n; i++) {
if(sanlar[i] < sanlar[eń_kishi_index]) { eń_kishi_index = i;
}
}
cout << "Eń kishi element indeksi: " << eń_kishi_index << endl;
return 0;
}
9-mısal: Massiv elementleriniń ortasha mánisin tabıw

#include <iostream> using namespace std;
int main() {
int sanlar[5] = {10, 20, 30, 40, 50}; int n = 5;
int jámi = 0;
for(int i = 0; i < n; i++) { jámi += sanlar[i];
}
float ortasha = (float)jámi / n;
cout << "Elementlerdiń ortasha mánisi: " << ortasha << endl;
return 0;
}
10-mısal: Eki massivti birlestiriw
#include <iostream> using namespace std;
int main() {
int birinshi[3] = {1, 2, 3}; int ekinshi[3] = {4, 5, 6}; int birlesken[6];
for(int i = 0; i < 3; i++) { birlesken[i] = birinshi[i]; birlesken[i+3] = ekinshi[i];
}
cout << "Birlesken massiv:" << endl; for(int i = 0; i < 6; i++) {
cout << birlesken[i] << " ";
}
return 0;
}
STATIKALÍQ MASSIVLER
C++ tilinde bir ólshemli statikalıq massivler - bul bir qatarda jaylasqan, belgilengen ólshemdegi, birdey tiptegi elementler toplamı. Olar programmada kóp sanlı maǵlıwmatlardı saqlawda hám olarǵa tez kiriwde qollanıladı.
Statikalıq massivlerdi jariyalaw
Statikalıq massivti jariyalaw ushın tómendegi sintaksisti qollanamız:
tip massiv_atı[ólshem];
Mısalı:
int sanlar[5]; // 5 elementli pútin sanlar massivi

Massivge mánisler beriw
Massiv elementlerine mánislerdi eki usılda beriwge boladı:
Jariyalaw waqtında:
int sanlar[5] = {1, 2, 3, 4, 5};
Indeks arqalı:
sanlar[0] = 1; sanlar[1] = 2;
// hám t.b.
Massiv elementlerine kiriw
Massiv elementlerine olardıń indeksi arqalı kiremiz. Indeksler 0 den baslanadı:
int birinshi_element = sanlar[0]; // 1-shi element int ekinshi_element = sanlar[1]; // 2-shi element
Massiv uzınlıǵı
C++ te statikalıq massiv uzınlıǵın tabıw ushın sizeof() operatorın qollanamız:
int uzınlıq = sizeof(sanlar) / sizeof(sanlar[0]);
Massivti cikl menen islew
Kóbinese massiv elementlerin cikl járdeminde qayta isleymiz:
for(int i = 0; i < 5; i++) { cout << sanlar[i] << " ";
}
Statikalıq massivlerdiń sheklewleri
Statikalıq massivlerdiń ayırım sheklewleri bar:
Ólshemi kompilaciya waqtında belgilenedi hám ózgertilmeydi
Úlken ólshemdegi massivler stack overflow qáteligine alıp keliwi múmkin
Funkciyalarǵa ótkergende, massiv kórsetkishke aylanadı
Bir ólshemli statikalıq massivler - bul C++ tegi áhmiyetli strukturalardıń biri. Olar maǵlıwmatlardı effektiv saqlawǵa hám qayta islewge járdem beredi. Biraq, olardıń sheklewlerin esapqa alıw kerek. Kóbirek tájiriybe alıw ushın, massivler menen hár qıylı ámeliy shınıǵıwlar orınlaw usınıs etiledi.
ÁMELIY MÍSALAR

1-mısal: Massivti jariyalaw hám kórsetiw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {10, 20, 30, 40, 50};
cout << "Massiv elementleri:" << endl; for(int i = 0; i < 5; i++) {
cout << sanlar[i] << " ";
}
return 0;
}
2-mısal: Massiv elementlerin kiritip alıw
#include <iostream> using namespace std;
int main() {
int sanlar[5];
cout << "5 san kiritiń:" << endl; for(int i = 0; i < 5; i++) {
cin >> sanlar[i];
}
cout << "Siz kiritken sanlar:" << endl; for(int i = 0; i < 5; i++) {
cout << sanlar[i] << " ";
}
return 0;
}
3-mısal: Massiv elementlerin qosıw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {1, 2, 3, 4, 5}; int jámi = 0;
for(int i = 0; i < 5; i++) { jámi += sanlar[i];
}
cout << "Elementler jámi: " << jámi << endl;
return 0;
}
4-mısal: Massivdegi eń úlken elementti tabıw
#include <iostream> using namespace std;

int main() {
int sanlar[5] = {12, 45, 7, 23, 56}; int eń_úlken = sanlar[0];
for(int i = 1; i < 5; i++) { if(sanlar[i] > eń_úlken) {
eń_úlken = sanlar[i];
}
}
cout << "Eń úlken element: " << eń_úlken << endl;
return 0;
}
5-mısal: Massiv elementlerin keri shıǵarıw
#include <iostream> using namespace std;
int main() {
int sanlar[5] = {1, 2, 3, 4, 5};
cout << "Keri shıǵarılǵan massiv:" << endl; for(int i = 4; i >= 0; i--) {
cout << sanlar[i] << " ";
}
return 0;
}
ELEMENTLERDI IZLEW USÍLÍ
C++ tilinde bir ólshemli massivlerde elementlerdi izlew - bul jiyI ushırasatuǵın ámeliy máselelerdiń biri. Bul lekciyada biz massivlerde elementlerdi izlewdiń tiykarǵı usılların úyrenemiz.
1. Sızıqlı izlew
Sızıqlı izlew - bul eń ápiwayı izlew usılı. Bunda biz massivtiń hár bir elementin izlenip atırǵan element penen salıstıramız.
int sızıqlı_izlew(int massiv[], int ólshem, int izlenetuǵın) { for(int i = 0; i < ólshem; i++) {
if(massiv[i] == izlenetuǵın) {
return i; // Element tabıldı, onıń indeksin qaytaramız
}
}
return -1; // Element tabılmadı
}
2. Binar izlew

Binar izlew tártiplengen massivlerde qollanıladı hám sızıqlı izlewge salıstırǵanda tezirek. Bul usıl massivti ekige bólip, izlenetuǵın elementti ortańǵı element penen salıstırıw arqalı isleydi.
int binar_izlew(int massiv[], int tómengi, int joqarı, int izlenetuǵın) { while (tómengi <= joqarı) {
int orta = tómengi + (joqarı - tómengi) / 2;
if (massiv[orta] == izlenetuǵın) return orta; // Element tabıldı
if (massiv[orta] < izlenetuǵın) tómengi = orta + 1;
else
joqarı = orta - 1;
}
return -1; // Element tabılmadı
}
Qollanıw mısalı
Tómende eki usıldı da qollanıw mısalı keltirilgen:
#include <iostream> using namespace std;
int main() {
int massiv[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; int ólshem = sizeof(massiv) / sizeof(massiv[0]);
int izlenetuǵın = 12;
int sızıqlı_nátiyje = sızıqlı_izlew(massiv, ólshem, izlenetuǵın); int binar_nátiyje = binar_izlew(massiv, 0, ólshem - 1, izlenetuǵın);
cout << "Sızıqlı izlew nátiyje: " << sızıqlı_nátiyje << endl; cout << "Binar izlew nátiyje: " << binar_nátiyje << endl;
return 0;
}
Bunda biz C++ tilinde bir ólshemli massivlerde elementlerdi izlewdiń eki tiykarǵı usılın úyrendik: sızıqlı izlew hám binar izlew. Sızıqlı izlew barlıq jaǵdaylarda qollanıla aladı, al binar izlew tek tártiplengen massivlerde qollanıladı, biraq ol kóbirek effektiv. Qaysı usıldı qollanıw kerekligin massivtiń ólshemine hám onıń tártiplengenligine qarap sheshiw kerek.
ÁMELIY MÍSAL:
1-mısal: Sızıqlı izlew
#include <iostream> using namespace std;
int sızıqlı_izlew(int massiv[], int ólshem, int izlenetuǵın) { for(int i = 0; i < ólshem; i++) {
if(massiv[i] == izlenetuǵın) { return i;

}
}
return -1;
}
int main() {
int sanlar[] = {5, 2, 8, 12, 1, 6};
int ólshem = sizeof(sanlar) / sizeof(sanlar[0]); int izlenetuǵın = 8;
int nátiyje = sızıqlı_izlew(sanlar, ólshem, izlenetuǵın);
if(nátiyje != -1) {
cout << izlenetuǵın << " sanı " << nátiyje << "-orında jaylasqan." <<
endl;
} else {
cout << izlenetuǵın << " sanı massivte tabılmadı." << endl;
}
return 0;
}
2-mısal: Binar izlew
#include <iostream> #include <algorithm> using namespace std;
int binar_izlew(int massiv[], int tómengi, int joqarı, int izlenetuǵın) { while (tómengi <= joqarı) {
int orta = tómengi + (joqarı - tómengi) / 2;
if (massiv[orta] == izlenetuǵın) return orta;
if (massiv[orta] < izlenetuǵın) tómengi = orta + 1;
else
joqarı = orta - 1;
}
return -1;
}
int main() {
int sanlar[] = {1, 3, 5, 7, 9, 11, 13, 15};
int ólshem = sizeof(sanlar) / sizeof(sanlar[0]); int izlenetuǵın = 7;
int nátiyje = binar_izlew(sanlar, 0, ólshem - 1, izlenetuǵın);
if(nátiyje != -1) {
cout << izlenetuǵın << " sanı " << nátiyje << "-orında jaylasqan." <<
endl;
} else {
cout << izlenetuǵın << " sanı massivte tabılmadı." << endl;
}
return 0;
}
3-mısal: Massivte qaytalanatuǵın elementti tabıw