Raqamli texnologiyalarni rivojlantirish vazirligi


Ko`p o`lchovli massivlarni initsializatsiyalash


Download 93.24 Kb.
bet5/5
Sana30.01.2024
Hajmi93.24 Kb.
#1808959
1   2   3   4   5
Bog'liq
MTvA 1-mustaqil ish

1.3 Ko`p o`lchovli massivlarni initsializatsiyalash.
Int a[2][3] = {2, 6, 8, 7, 12, 5};
Int b[3][3] = {{2, 6, 8}, {7, 12, 5}, {20, 21, 22 }}
Birinchi operatorda boshlang`ich qiymatlar ketma – ket yozilgan, Ikkinchi operatorda qiymatlar guruxlangan. Misollar:

  1. misol. M o`lchamli kvadrat matrisa berilgan . Bu massivning elementlarini spiral shaklida chop etish dasturi tuzilsin : avval oxirgi ustun , keyin oxirgi qator teskari tartibda , keyin birinchi ustun teskari tartibda, keyin birinchi qator. Ichki elementlar ham shu tartibda chop etiladi. Eng oxirida matrisaning markaziy elementi chop etiladi.

C++ da ko’p o’lchamli massivlar
Ushbu bo‘limda quyidagilarga e`tibor berish kerak bo‘ladi: ya`ni ikki o‘lchovli massiv satrlari soni (m), ustunlari soni n, hamda elementlari soni larni e’tiborga olish lozim. Agar masalalarda satrlar va ustunlar soni aniq ko‘rsatilmagan bo‘lsa, ularni 2 dan 10 gacha bo‘lgan oraliqda o‘zgartirish tavsiya etiladi. Matritsaning boshlang‘ich qiymati 1- va 2-indekslari 1 bo‘lgan elementida joylashadi. Matritsaga kiritish va chiqarish satrlar bo‘yicha amalga oshiriladi. m o‘lchamli kvadrat matritsa 2 o‘lchovli massiv hisoblanadi. Matritsalarni tashkil eish va ularning elementlarini chiqarish. Matritsalarni tashkil etish masalalaridagi natijaviy matritsa o‘lchami 10X10 dan oshmaydi.
Ikki o`lchamli statik massivlarni e`lon qilish.
toifa massiv_nomi [massiv_satrlari_soni][massiv_ustunlar i_soni];
Ikki o`lchamli statik massivlarning e`lon qilinishida, bir o`lchamlidan farqi, massiv nomidan keyin qirrali qavs ichida ikkita qiymat yozilganligidadir. Bulardan birinchisi, satrlar sonini, ikkinchisi esa ustunlar sonini bildiradi. Ya'ni ikki o'lchamli massiv elementiga ikkita indeks orqali murojaat qilinadi. Ikki o`lchamli massivlar matematika kursidan ma`lum bo`lgan matritsalarni eslatadi.
Ikki o'lchamli massiv e'loniga misol:
int a[3][3], b[2][4];
A matritsa B matritsa
a00 a01 a02 b00 b01 b02 b03
a10 a11 a12 b10 b11 b12 b13
a20 a21 a22
A matritsa 3 ta satr, 3 ta ustunga ega;
B matritsa 2 ta satr, 4 ta ustunga ega;
Ikki o'lchamli massivlarda 1 - indeks satrni, 2 - indeks ustunni bildiradi.
Birinchi satrning dastlabki elementi a10 – a biru nol element deb o`qiladi. a o`n deyilmaydi.
m ta satr va n ta ustunga ega bo`lgan massivga (mxn) o`lchamli massiv deyiladi. Agar
m=n (satrlar va ustunlar soni teng) bo'lsa kvadrat massiv deyiladi.
Ko'p o'lchamli massivlarni initsializats iyalash misоllar:
int a[2][2]={1,2,7,3};
int b[2][3]={ {0,1,2}, {3,4,5} };
Massivlarni qo`llanilishiga misol keltiradigan bo`lsak, satrlar talabalarni, ustunlar fanlardan olgan baholarini bildirsin. Ya`ni m ta talaba, n ta fan. n – ustunga talabalarning o`rtacha baholari hisoblanib, shu asosida stipendiya bilan ta`minlansin.
Va hakazo, bunga o`xshash ko`plab misollar keltirish mumkin. Bu masalalarga to`xtalishdan oldin bir ikkita oddiy masalar bilan tanishib chiqaylik.
1 - Masala. A(mxn) matritsa berilgan. Shu matritsa elementlar ini kirituvchi va ekranga jadval ko`rinishida chiqaruvchi programma tuzilsin.
#include
#include
int main()
{
int m, n, a[10][10];
cout << "Satrlar sonini kiriting \nm=";cin >> m;
cout << "Ustunlar sonini kiriting \nn=";cin >> n;
cout <<"Massiv elementlarini kiriting \n";
for(int satr = 0; satr < m ; satr++)
for(int ustun = 0; ustun < n; ustun++)
{
cout << "a[" << satr << "][" << ustun << "]="; cin >> a[satr][ustun];
}
for(int satr = 0; satr < m; satr++)
{
for(int ustun = 0; ustun < n; ustun++)
cout << a[satr][ustun] << "\t"; cout<<"\n";
}
system ("pause");
return 0;
}
Funksiya parametri sifatida massivni jo'natish va funksiya natijasi sifatida massivni olish ham mumkin. Funksiyaga matritsani uzatishda matritsa nomi bilan uning satrlar va ustunlar sonini ham jo'natish kerak bo'ladi. Funksiyada massivdan foydalanishni bir necha xil usuli bor, shularning ba'zilari bilan tanishamiz.
Funksiyaga matritsani uzatish
#include
#include
void matrix_print(int a[10][10], int m, int n)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cout << a[i][j] << "\t";
}
cout << "\n";
}
}
int satr_max(int a[], int n)
{
int max = a[0];
for (int i = 1; i < n; i++)
if (max < a[i]) max = a[i];
return max;
}
int main()
{
int m, n, a[10][10];
cout << "Satrlar sonini kiriting \nm="; cin >> m;
cout << "Ustunlar sonini kiriting \nn="; cin >> n;
cout <<"Massiv elementlarini kiriting \n";
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
cout << "Kiritilgan matritsa\n";
matrix_print(a, m, n);
for (int i = 0; i < m; i++)
{
cout << i << "-satrning eng kattasi=" <<
satr_max(&a[i][0], n);
cout << endl;
}
return 0;
system ("pause");
}
Matritsadagi har bir satrning eng kattasini topish
#include
#include
void matrix_print(int a[10][10], int m, int n)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cout << a[i][j] << "\t";
}
cout << "\n";
}
}
int satr_max(int a[], int n)
{
int max = a[0];
for (int i = 1; i < n; i++)
if (max < a[i]) max = a[i];
return max;
}
int main()
{
int m, n, a[10][10];
cout << "Satrlar sonini kiriting \nm="; cin >> m;
cout << "Ustunlar sonini kiriting \nn="; cin >> n;
cout <<"Massiv elementlarini kiriting \n";
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
cin >> a[i][j];
cout << "Kiritilgan matritsa\n";
matrix_print(a, m, n);
for (int i = 0; i < m; i++)
{
cout << i << "-satrning eng kattasi=" <<
satr_max(&a[i][0], n);
cout << endl;
}
return 0;
system ("pause");
}
Statistik massivlar bilan ishlashning kamchiliklar i:
1. Statik massivlarning uzunligi оldindan ma’ lum bo’ lishi kеrak;
2. Statik massivning o'lchami bеrilganlarga ajratilgan хоtiraning o’ lchami bilan chеgaralangan;
3. Katta o’lchamdagi massiv e’lоn qilib, masalani yеchilishida ajratilgan хоtira to’ liq ishlatimasligi mumkin.

Xulosa

Bu kursh ishmni tayorlash jarayonida kuplam masalalar va kunksiyalar kutbxonallardan foydalandim.


C++ da ko’pgina meridlar yaniy Massivlar, Dinamik massivlar, yaratish va ulardan foydalanish yullarni kurib chiqdim.
Yuqori darajali dasturlash tillarini kunnan kunga har xil versialari oylap topilmoqda. Bundan maxsad insonlarning dastur tuzish paytida eng birinshi orinda vaqtini tejash undan keyin esa qulaylilik yaratish hisoplanadi. Bugungi kunga kelip C++, Delphi, Pascal dasturlash tillari mavjud ekan. Bu dasturlash tillari orqali axborot texnolagiyalari boyisha harqanday maumualarni hal etish mumkun. Delphi dasturlash tilining asosini esa Pascal dasturlash tili tashkil etar ekan. Buning sababi esa Pascal tilini takomillashtirish bolip hisoplanadi. Bu takomillashtirish natiyjasida esa yangi bir Delphi dasturlash tili juvudga keldi. Bu yuqori darajali dasturlash tillari ishida C++ dasturlash tili juda.

Foydalanilgan adabiyotlar

  1. A.A. Xoidjigitov , Sh.f.Madraximov, U.E.Adamboyev “Informatika va programmalash ” .O`quv qo`llanma, O`z.MU . 2005-yil.


  1. I. Qobulov “C++ tili “Toshkent nash. 2008-yil.

3 .Madraximov. F “C++ dasturlash tili” uslubiy qo`llanma. 2009-yil.
4. Sayfiyev J.F “C++ tiliga kirish”-uslubiy qo`llanma.Buxoro-2005.
5. http.//www.dastur.uz




Download 93.24 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling