Matritsa maksimal minimal elementini aniqlash algortimi. Matritsani ko’paytirish dasturi. Amallar tartibini baholash Ishdan maqsad


Download 91.88 Kb.
Sana08.04.2023
Hajmi91.88 Kb.
#1342799
Bog'liq
3-tajriba


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];
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.

131. Matritsa2
Vaqt limiti: 1 sekund 
Xotira limiti: 64 MB


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


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

Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

4 7
-84 38 30 78 59 49 -58
64 -76 65 -17 24 -89 59
-36 55 33 61 74 87 -93
72 -51 28 -73 93 -8 41

16 -34 156 49 250 39 -51
93 -93

6 5
-54 36 51 1 -46 5
12 -85 72 -66 78
-71 70 60 99 -99
95 -56 98 -46 17
-83 21 21 90 -53
89 -54 53 -21 49

-12 -68 355 57 -54
99 -99



#include


using namespace std;
int main()
{
int i,j,n,m; cout<<"Matritsani o'lchamini kiriting: \n";
cin>>n>>m;
long int a[n][m],s=0;
for(i=0; ifor(j=0; jcin>>a[i][j];
cout<<"Natija...\n";
for(j=0; j{
for(i=0; i{
s+=a[i][j];
}
cout<s=0;
} cout<long int Max=a[0][0],Min=a[0][0];
for(i=0; ifor(j=0; j{
if(MaxMax=a[i][j];
}
for(i=0; ifor(j=0; j{
if(Min>a[i][j])
Min=a[i][j];
}
cout<return 0;
}


Download 91.88 Kb.

Do'stlaringiz bilan baham:




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