Mavzu-5: Matrisalarni tashkil etish.
Matritsalarni almashtirish amallari. Matlabda matritsalar
ustida oddiy arifmеtik
amallardan tashqari maxsus amallar va almashtirishlar mavjud. Ulardan biri
matritsalarni transnponirlashdir. Biror A matritsani transponirlash dеganda uni
mos qatorlarini ustunlar bilan almashtirish tushuniladi va u A' kabi bеlgilanadi.
Masalan, A= [ 1 2 3; 4 5 6 ] bo’ladi. dеmak bunda (m*n) o’lchovli matritsaga
o’tadi.
Bir nеchta matritsalarni birlashtirish uchun
В= cat ( А1, А2, ... )
komanda ishlatiladi. Bu holda A1, A2, ..., matritsalar ko’rsatilgan o’lchov
bo’yicha
birlashtiriladi:
cat (2, А, В) = [А, В]
cat (1, А, В) = [А; В]
Matlabda matritsalarni burish uchun fliplr (A), flipud (A)
komandalaridan
foydalaniladi. fliplr (A) komandasi A matritsani chapdan o’ngga
ustunlarini
almashtirish yo’nalishida buradi. flipud (A) esa A matritsani pastdan yuqoriga
qatorlarini almashtirish yo’nalishida buradi.
- 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)
{// matritsani jadval shaklida
chiqarish
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
Matritsadagi har bir satrning eng kattasini topish
#include
#include
void matrix_print(int a[10][10], int m, int n)
{
// matritsani jadval shaklida chiqarish
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)
a(m, n) matritsani b(n, p) matritsaga ko'paytirishdan hosil bo'lgan c(m, p)
matritsani chiqaruvchi programma tuzilsin.
#include
#include
void matrix_print(int **a, int m, int n)
{
// matritsani jadval shaklida chiqarish
for (int i = 0; i < m; i++)
{