Лаборатория иши № 15 Мавзу: Кўп ўлчамли массивлар
Назорат саволлари:
1. Энг оддий статик структура нима?
2. Вектор нима?
3. Вектор қандай маълумотлардан иборат?
4. Вектор элементига қандай кириш мумкин?
5. Массив тушунчаси.
6. Икки ўлчовли массив элементига қандай кириш мумкин?
7. Икки ўлчовли массив жисмоний даражадаги каби нимага ўхшайди?
Javoblar:
1. .Берилганларнинг оддий статик структуралари
Уларга
векторлар;
тупламлар;
ёзувлар;
жадваллар кирад
2. Вектор – бир турдаги берилганларнинг тартибланган туплами.
Векторга бир улчамли туплам мос келади. Унинг элементлари хотирада катъи бири-биридан кейин жойлашади. Бундай тартибланиш элементларни ракамлаш имкониятини беради (ракамлар-индекслар).
Энг куп кулланиладиган амаллардан бири – берилган индекс буйича элементга мурожаат амалидир.
3-4.
quyidagicha vektor e'lon qilinishi mumkin::
1
2
|
std::vector myVector; // мы создали пустой вектор типа int
myVector.reserve(10); // тут мы зарезервировали память под 10 элементов типа int
|
Misolidan ayon bo'lgani kabi, vector nom bor std. Aslida, Bu ikki yozuvlari bunday yozuvlarni teng bo'lgan:
1
|
int myVector[10]; // обычное объявление массива
|
Birinchi qarashda, E'lonlar vektor juda ham ko'p noqulay edi. Shu bilan birga, vektor juda kuchli xususiyatlari berkitayotgan, Nima haqida aytish mumkin An'anaviy tillo C . Bundan tashqari, vector ketma-ket e'lon mumkin, shunga o'xshash:
1
|
std::vector myVector(10);
|
Bu eshik ikki avvalgi barobardir, Biz dastlabki hajmi bilan bir vektor e'lon qaerda, ya'ni 10 xil elementlar int. Lekin, bundan boshqa, a vektor e'lon qilish uchun bir yo'l emas, balki faqat xotira ajratadi, lekin hali ham nol bilan vektor barcha elementlari boshlab. Mana, bir misol:
1
2
3
4
5
6
7
8
9
10
11
|
#include
#include // подключаем модель Векторов
using namespace std;
int main()
{
vector myVector(10); // объявляем вектор размером в 10 элементов и инициализируем их нулями
// вывод элементов вектора на экран
for(int i = 0; i < myVector.size(); i++)
cout << myVector[i] << ' ';
return 0;
}
|
Esda tuting, vektor hajmi bilan belgilanadi, deb size(), Bu juda qulay, Biz qator hajmini bilmasangiz. Chiqish:
Agar vektor bunday e'lon Agar:
dasturning natijasi har xil bo'ladi, chiqish oqimi paydo emas, no boshlash vektor elementlari bor deb, Bas, bu usul amalga oshiriladi E'lon vector. Bu bu usullar e'lonlar Vektorli farq ekanligini.
Bir necha xat yuqorida, Men vektor boshlang'ich buyukligidan haqida. Nima uchun boshlang'ich hajmi? Chunki, nima, Vektor hajmi o'tkazib yuborilgan bo'lsa, vector avtomatik ravishda ortadi, yangi elementlar qo'shib, sizning hajmini sanab. Bu juda qulay, qismi, biz qator hajmini bashorat qila olmaydi, chunki, Biz dastur ishlashi uchun kerak. Batafsil, biz bir oz keyinroq bu misolni ko'rib.
Bu vektor nusxa qanchalik oson qarang:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include
#include // подключаем модель Векторов
using namespace std;
int main()
{
vector myVector1(10);
// вывод элементов вектора на экран
cout << "Входной массив: ";
for(int i = 0; i < myVector1.size(); i++) {
myVector1[i] = i;
cout << myVector1[i] << ' ';
}
cout << "\nСкопированный массив: ";
vector myVector2(myVector1); // при объявлении второго вектора, копируется - первый
for(int i = 0; i < myVector2.size(); i++) {
myVector2[i] = i;
cout << myVector2[i] << ' ';
}
return 0;
}
|
Chiqish:
Dasturning natijalari From aniq ko'rish mumkin ,nima
Do'stlaringiz bilan baham: |