Guruh Odamboyev Maqsad Amaliy ish №3 Mavzu


Download 57.34 Kb.
Sana10.04.2023
Hajmi57.34 Kb.
#1348005
Bog'liq
3-amaliyot


971-20 guruh
Odamboyev Maqsad
Amaliy ish №3
Mavzu: Matritsa maksimal minimal elementini aniqlash algortimi. Matritsani ko’paytirish dasturi. Amallar tartibini baholash
Ishdan maqsad. Ikki o’lchovli massivlar va ular ustida amalllar bajarish ko’nikmalarini oshirish. Dasturini tuzish.
Nazariy qism.
Ikki o’lchamli massiv – bu elementlari bir o’lchamli bo’lgan bir o’lchamli massiv. Boshqacha aytganda bir xil tipli ikkita indeks orqali murojaat qilinadigan jadval shaklidagi ma’lumotlar to’plami. Ikki o’lchamli massivni n ta satr, m ta ustundan iborat jadval ko’rinishida tasvirlash oson, i-satr va j-ustun kesishish nuqtasida a[i][j] elementi qiymati saqlanadi.

Ikki o’lchamli massiv matritsa deb ham nomlanadi.
Matritsa elementlarini kiritish. Matritsaning elementlari qator bo’yicha yuqoridan pastga, ustun bo’yicha chapdan o’nga tartibda kiritiladi. 3x3 matritsa elementlari a11, a12, a13, a21, a22, a23, a31, a32, a33 tartibda kiritiladi. Kiritishni amalga oshirish uchun qator bo’yicha sikl, uning ichida ustun bo’yicha sikl amalga oshirish lozim. Quyidagi blok sxema matritsani kiritish va elementlarining yig;indisini topadi:
C++ dasturlash tilida matritsani tavsiflash bir o’lchamli massivga o’xshash bo’ladi:
[][]
Masalan sartlari 1 dan n gacha, ustunlari 1 dan m gacha bo’lgan a matritsa ochish uchun int a[n+1][m+1];
Satrlar va ustunlar soni teng bo’lgan(n=m) matritsa kvadrat matritsa deb ataladi.

Kvadrat matritsaning asosiy diagonal elementlari chiqarish dasturi:
for (int i = 1; i <= n; i++) {
cout<}

Asosiy diagonaldan yuqori uchburchak elementlari:



Yuqori uchburchak elementlari ichidan maksimalini toppish:
int max = a[1][1];
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
if(a[i][j] > max)
max = a[i][j];
}
}
Kvadrat matritsaning determinantini topish.

Kvadrat matritsaning determinanti (determinanti) bu matritsaga tayinlangan va quyidagi qoidalarga muvofiq uning elementlaridan hisoblangan son.


Birinchi tartibli matritsa uchun determinantning qiymati ushbu matritsaning yagona elementiga teng:



2X2 lik matritsa uchun:

nXm lik matritsa uchun esa:

Bu erda Mij kvadrat matritsaning qo'shimcha minori - i-qator va j-ustunni o'chirish orqali asl nusxadan olingan matritsaning determinanti.


Topshiriqlar


130. Matritsa1
Vaqt limiti: 1 sekund 
Xotira limiti: 64 MB

Matritsani qatоr elеmеntlari yigindisidan vеktоr хоsil qilinsin, eng katta va engkichik elеmеnti aniqlansin.

Kiruvchi ma’lumotlar: Birinchi satrda n va m(1<=n,m <=80). Keyingisatrlarda matritsa elementlari n ta satrda m ta butun son
(-100<=a[i,j]<=100).
Chiquvchi ma’lumotlar: Birinchi satrda xosil bo’lgan vektor elementlariikkinchi satrda matritsani eng katta va eng kichik elementi

Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

6 6
-50 53 53 54 67 -8
41 -77 57 -54 43 -59
-94 47 36 8 92 -8
51 -5 55 -57 20 -34
-36 71 42 18 53 -80
69 -62 16 -94 64 -16

169 -49 81 30 68 -23
92 -94

4 3
-37 24 -42
10 -57 52
-12 94 -94
5 -42 27

-55 5 -12 -10
94 -94



#include


#include

using namespace std;

int main() {
// matritsa haqida ma'lumotlar
int n, m;
cout << "Matritsa o'lchami (n m): ";
cin >> n >> m;
vector> matritsa(n, vector(m));
// Matritsa qiymatlarini olish
cout << "Matritsa elementlarini kiriting: ";
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> matritsa[i][j];
}
}
vector vektor;
int eng_katta = matritsa[0][0]; // matritsaning birinchi elementini eng katta deb o'rnating
int eng_kichik = matritsa[0][0]; // matritsaning birinchi elementini eng kichik deb o'rnating
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
vektor.push_back(matritsa[i][j]);
if (matritsa[i][j] > eng_katta) {
eng_katta = matritsa[i][j];
}
if (matritsa[i][j] < eng_kichik) {
eng_kichik = matritsa[i][j];
}
}
}
// Vektorni chiqarish
cout << "Vektorni chiqarish: ";
for (int i = 0; i < vektor.size(); i++) {
cout << vektor[i] << " ";
}
cout << endl;
// Eng katta va eng kichik elementlarni chiqarish
cout << "Eng katta element: " << eng_katta << endl;
cout << "Eng kichik element: " << eng_kichik << endl;

return 0;


}

Download 57.34 Kb.

Do'stlaringiz bilan baham:




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