Dasturlash I 13-hafta mavzu: Ko‘p o‘lchovli massivlar



Yüklə 78,92 Kb.
səhifə4/4
tarix27.12.2023
ölçüsü78,92 Kb.
#198913
1   2   3   4
ma\'ruza-13

srand (time(0));
for (int i = 0; i < SATR_HAJM; i++)
{
for (int j = 0; j < USTUN_HAJM; j++)
{
int i1 = rand() % SATR_HAJM;
int j1 = rand() % USTUN_HAJM;
// matrix[i][j] ni matrix[i1][j1] bilan almashtirish
double temp = matrix[i][j];
matrix[i][j] = matrix[i1][j1];
matrix[i1][j1] = temp;
}
}


13.3. Ikki o`lchovli massivlarni funksiyaga yuborish
Key Point. Ikki o`lchovli massiv funksiyaga yuborilganda, C++ da ustun hajmi funksiyada e’lon qilingan parametrga mos bo`lishi talab etiladi.
13.1-kodli ro`yxatda ikki o`lchovli massiv elementlari yig`indisini qaytaruvchi funksiya berilgan.
13.1-kodli ro`yxat. IkkiUlchovliMassivniYuborish.cpp
1 #include
2 using namespace std;
3
4 const int USTUN_HAJM = 4;
5
6 int sum (const int a[][USTUN_HAJM], int satrHajm)
7 {
8 int jami = 0;
9 for (int satr = 0; satr < satrHajm; satr++)
10 {
11 for (int ustun = 0; ustun < USTUN_HAJM; ustun++)
12 {
13 jami += a[satr][ustun];
14 }
15 }
16
17 return jami;
18 }
19
20 int main()
21 {
22 const int SATR_HAJM = 3;
23 int m[SATR_HAJM][USTUN_HAJM];
24 cout << SATR_HAJM << " ta satr va "
25 << USTUN_HAJM << " ta ustun kiriting: "<< endl;
26 for (int i = 0; i < SATR_HAJM; i++)
27 for (int j = 0; j < USTUN_HAJM; j++)
28 cin >> m[i][j];
29
30 cout << "\nBarcha elementlar yig`indisi: "
31 << sum(m, SATR_HAJM) << endl;
32
33 return 0;
34 }

3 ta satr va 4 ta ustun kiriting:
1 2 3 4
5 6 7 8
9 10 11 12
Barcha elementlar yig`indisi: 78



13.4. Ko`p o`lchovli massivlar
Key Point. C++ da ixtiyoriy o`lchamda massiv yaratish mumkin.
Yuqoridagi qismda matritsa yoki jadvalni ifodalash uchun ikki o`lchovli massivni hosil qilishni ko`rib chiqdik. Ba’zi hollarda n o`lchovli ma’lumotlar tuzilmasi bilan ishlashimizga to`g`ri kelib qoladi. C++ da ixtiyori butun n soni uchun n o`lchovli massiv yaratishimiz mumkin.
Ikki o`lchovli massivning e’lon qilinishini n>=3 uchun n o`lchovli massivda generatsiya qilishimiz mumkin. Misol uchun, jami oltita talabadan iborat bo`lgan guruhning, har bir nazorat turi ikki qism (test va yozma ish)dan tashkil topgan, jami beshta nazorat turidan iborat bo`lgan imtixon natijalarini yozish uchun uch o`lchovli massivdan foydalanishimiz mumkin. Quyidagi sintaksis asosida ballar deb nomlangan uch o`lchovli massivni e’lon qilish mumkin:
double ballar [6][5][2];
Massivni hosil qilish va yuklashning quyidagicha qisqacha yozuvli ko`rinishidan foydalanishimiz mumkin:
double ballar [6][5][2] = {
{{7.5, 20.5}, {9.0, 22.5}, {15, 33.5}, {13, 21.5}, {15, 2.5}},
{{4.5, 21.5}, {9.0, 22.5}, {15, 34.5}, {12, 20.5}, {14, 9.5}},
{{6.5, 30.5}, {9.4, 10.5}, {11, 33.5}, {11, 23.5}, {10, 2.5}},
{{6.5, 23.5}, {9.4, 32.5}, {13, 34.5}, {11, 20.5}, {16, 7.5}},
{{8.5, 26.5}, {9.4, 52.5}, {13, 36.5}, {13, 24.5}, {16, 2.5}},
{{9.5, 20.5}, {9.4, 42.5}, {13, 31.5}, {12, 20.5}, {16, 6.5}}};
Bu yerda ballar [0][1][0] birinchi talabaning ikkinchi nazorat turi bo`yicha, testdan olgan balini, ya’ni, 9.0 ni beradi. ballar [0][1][1] esa, birinchi talabaning ikkinchi nazorat turi bo`yicha, yozma ishdan olgan balini, ya’ni, 22.5 ni beradi. Bu jarayon quyidagi rasmda tasvirlangan:


Yüklə 78,92 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin