931-20_ Yangiboyeva Komila
Tajriba ish №5
Mavzu: Matritsa elementlari ustida amallar bajarish: maksimal, minimal elementini, egar nuqtasini aniqlash; matritsani matritsaga, vektorga ko’paytirish algoritmi. determinantni xisoblash algoritmi
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];
Quyidagi dasturda matritsa elementlarini kiritish, chiqarish va yig’indisini xisoblash amalga oshirilgan.
#include
using namespace std;
int main() {
int n, m;
cin>>n>>m;
int a[n+1][m+1];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin>>a[i][j];
}
}
// Matritsa shaklida chiqarish
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cout< }
cout< }
int sum = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
sum += a[i][j];
}
}
cout<<"Matritsa elementlari yig'indisi: "<}
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];
}
}
Vazifa: Pastki uchburchak elementlari orasida eng kattasini topishni mustaqil yozing.
Do'stlaringiz bilan baham: |