Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti algoritmlarni Loyihalash Fanidan




Download 0,8 Mb.
Pdf ko'rish
bet1/2
Sana15.05.2024
Hajmi0,8 Mb.
#233945
  1   2
Bog'liq
1-mustaqil ish
02.02.2023, Bozorov Tulevberdiyev, Diyor, 1-shaxsiy topshiriq, qwertyui, Shoxrux


 
 
 
 
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT 
AXBOROT TEXNOLOGIYALARI UNIVERSITETI 
 
Algoritmlarni Loyihalash Fanidan 
Mustaqil ish 
 
Mavzu: Determinantlarni hisoblash uchun
bajariladigan amallar sonini baholash 
 
 
 
 
 
 
 
 
 
 
 

Bajardi: Isroilov Ilhom 
Tekshirdi: Karimov Nodirbek 

Toshkent-2024 


Reja: 
1. Determinantlar haqida umumiy ma'lumot. 
2. Determinantlarni hisoblash uchun bajariladigan 
amallar sonini aniqlash. 
3. Determinantlarni hisoblashda qo'llaniladigan 
algoritmlar. 
4.Xulosa. 
5.Foydalanilgan adabiyotlar. 


Determinantlarni hisoblash uchun bajariladigan amallar sonini baholash 
algoritmini loyihalash uchun quyidagi qadamlarni takrorlashni maslahat beraman: 
1. Ma'lumotlar olish: Referatda qaysi matritsalarni qanday o'lchamlarda hisoblash 
uchun bajariladigan amallar sonini baholashni ko'rsatish kerakligi haqida ma'lumot 
berilishi kerak. Bu qismatda 2x2, 3x3, 4x4 va NxN matritsalarda determinantni 
hisoblashning usullari va amallar soni haqida tushuntirish kerak. 
2. Algoritmlarni tanlash: Determinantlarni hisoblash uchun bajariladigan amallar 
sonini baholashda qo'llaniladigan algoritmlarni tanlash zarur. Cramer qoidasi, 
Gauss eliminatsiya usuli va Laplas metodlari kabi algoritmlar tanlanishi kerak. 
3. Dastlabki muammolar va ularga echimlar: Determinantlarni hisoblashda 
dastlabki muammolar va ularga echimlar haqida ma'lumot berish kerak. Bu 
qismatda matritsalar ustida ishlashda dastlabki muammolar, determinantlarni 
hisoblashda dastlabki qiyinchiliklar va amallar sonini kompyuterda avtomatik 
ravishda aniqlash haqida tushuntirish kerak. 
4. Algoritmlarni dastlabki o'rnatish va sinovdan o'tkazish: Tanlangan algoritmlarni 
dastlabki o'rnatish va sinovdan o'tkazish lozim. Bu bosqichda algoritmlarni 
kompyuterda dastlabki ravishda o'rnatish, sinovdan o'tkazish va natijalarni 
tekshirish lozim.
5. Natijalar va xulosa: Algoritmlar sinovdan o'tkazilgan keyin natijalar olinganligi 
va ularning to'g'ri ishlashi tekshirilishi kerak. Xulosa bo'limida algoritmlar yaxshi 
ishlashi uchun tavsiyalar va takliflar berilishi kerak. 
6. Manbalar ro'yxati: Loyihaning tayyorlanishida foydalanilgan manbalar ro'yxati 
ham ko'rsatilishi kerak, shuningdek, matematika, algoritmika va kompyuter 
fanlariga oid qo'llanmalar va internet manbalari ham ko'rsatilishi lozim. Ushbu 
qadamlar asosida determinanti hisoblash uchun bajariladigan amallar sonini 
baholash algoritmini loyihalash mumkin. Bu loyiha matematika, algoritmika va 
kompyuter fanlariga oid malumotlarni tushuntirish va tahlil qilishga yordam 
beradi. 
Determinant, matritsaning bir necha amallar bilan qo'shilgan soni hisoblash 
uchun foydalaniladigan matematik konsepti hisoblanadi. Determinant, yuqoridagi 


misolda ko'rsatilgan 3x3 matritsaning belgilangan formulasi orqali hisoblanadi. 
Determinantlar matematikada ko'p turli maqsadlar uchun foydalaniladi. Ularning 
bir nechasi quyidagi kabi:
1. Matritsa invertsiyasi: Matritsaning invertsiyasini topish uchun determinanti 
hisoblanadi. Inversiyasi, matritsa elementlarini almashtirib, shunday qilib, 
matritsaning umumiy qiymatini 1 ga teng bo'lgan matritsa.
2. Lineyni tenglamalar sistemalarini hal qilish: Lineyni tenglamalar sistemalari 
(LTE) uchun determinanti hisoblanadi va tenglama sistemaning yechimini topishda 
yordam beradi.
3. Matritsa to'g'riligi: Matritsaning to'g'ri yoki noqulay bo'lishini aniqlash uchun 
determinanti hisoblanadi. Agar matritsaning determinant 0 ga teng bo'lsa, matritsa 
noqulay bo'lishga ega. 
4. Geometriyada: Determinantlar geometriyada ham foydalaniladi, masalan, 
vektorlarni koordinat sistemalarda aylantirish va aylanma povorotlarini 
hisoblashda. Determinantlar matematikada juda keng qo'llaniladi va 
matritsalarning xususiyatlari va operatsiyalarini aniqlashda muhimdir. 
Determinantni hisoblash uchun bajariladigan amallar soni, matritsaning o'lchamiga 
bog'liqdir. Agar matritsa n x n o'lchamli bo'lsa, determinanti hisoblash uchun 
bajariladigan amallar soni n! (n faktorial) ga teng bo'ladi. Masalan, 2x2 
matritsaning determinantini hisoblash uchun bajariladigan amallar soni 2! = 2 ga, 
3x3 matritsaning determinantini hisoblash uchun bajariladigan amallar soni 3! = 6 
ga, va hokazo. Bularning o'zida, determinanti hisoblash uchun bajariladigan 
amallar sonini aniqlashda ko'p formulalar va tartiblar mavjud bo'lishi mumkin. 
Masalan, n x n o'lchamli matritsaning determinantini hisoblash uchun ko'p 
formulalar, misol uchun "Sarrus method" va "Laplace expansion" metodi kabi 
qo'llaniladi. Barcha bu amallar va formulalar, matritsaning elementlarini 
foydalanib, determinanti hisoblash uchun kerak bo'lgan har bir amalni bajarishda 
qo'llaniladi. 


Algoritmlarni loyihalash jarayonida hisob-kitoblarni davom ettirish uchun ikki 
va undan ko'proq yo'llar mavjud bo’lib, ulardan birini tanlashimizga to’g’ri keladi. 
Hisoblash yo'lini tanlash, ma'lum shartlarni bajarilishiga bog'liq. Xuddi shunday 
sharoitga biz kvadrat tenglamalarni yechish va uchburchakning yuzini hisoblashda 
duch kelganmiz. Algoritmning bunday qismini shakllantirish qoidalari bilan biz 
ozmi-ko'pmi tanishmiz. Ushbu bo'limda takrorlanish soni oldindan ma'lum 
bo’lmagan takrorlanuvchi algoritmlarni tuzish usullari bilan tanishamiz. 
Algoritmlarni bunday turi amaliy masalalarni yechish jarayonida hosil bo'ladi. 
Ma'lumki, tabiatda yoki texnikida sodir bo'ladigan jarayonlarni tavsiflovchi 
matematik modellar ko'pincha ushbu jarayon parametrlarini bog'lovchi tenglamalar 
shaklida beriladi. Agar parametrlar orasida noma'lum qiymatlilari mavjud bo'lsa, 
bu tenglik tenglamaga aylanadi va uni yechish kerak bo'ladi. Ba'zan tenglamaning 
berilishiga qarab, yechimning analitik usullarini topish mumkin. Ammo ko'p 
hollarda yechimning analitik usullarini topish mumkin bo`lmay qoladi va bunday 
hollarda taqribiy yechish usullari qo'llaniladi. Bunday yondashuvni oqlaydigan 
yana bir holatga e'tibor qaratsak. Ma'lumki, jarayonning fizik parametrlari 
qiymatlari o'lchov asboblari yordamida o'lchanadi, asboblarning aniqligi bo'linish 
shkalasi va asboblarning sozligiga bog'liq. Demak, o'lchov natijasida olingan 
qiymatlar bilvosita chetlab bo`lmaydigan xatoliklarni o'z ichiga olishi mumkin va 
ular natijani aniqligiga ta'sir ko'rsatadi. Bu holda berilgan tenglamaning aniq 
yechimini topish noreal masala bo`ladi, chunki yechim ichida dastavval xatoliklar 
bor. Agar usul xatoligi dastlabki ma`lumotlar xatoligi tartibiga mos kelsa, bunday 
tanlangan usul mantiqan o`zini oqlaydi. Bu fikr bizga doimo qo'llanma va dasturul 
amal bo'lib xizmat qiladi. Masalaning fizik tomoniga qaramasdan, to'g'ridan-to'g'ri 
matematik masalani ko'rib chiqamiz. Quyidagi tenglamaning 

a b; 

oraliqdagi 
yechimini topish talab qilinadi: f x( ) = 0 
Ма’lum ko`rinishdagi f x( ) funksiyalar uchun (3.1) tenglamaning aniq 
yechimlarini topishning analitik formulalari mavjud. Biz esa bu yerda (3.1) 
tenglamaning f x( ) funksiya ko’rinishiga va 

a b; 

kesmaga bog’liq bo’lmagan 
holda oldindan berilgan aniqlikdagi yechimini topib beruvchi universal taqribiy 


usullarini ko’ramiz. Shuningdek, bu usullarning barchasi aniq algoritmlar 
ko’rinishida beriladi va EHMda osongina amalga oshiriladi. Biz (3.1) 
tenglamaning ildizlarini ajratib olish masalasi bilan shug’ullanmasdan bu etap 
bosib o’tilgan va (3.1) tenglamani yagona ildizi joylashgan 

a b; 

kesma topilgan 
deb faraz qilamiz.Тenglamaning ildizni 


0 aniqlikda tanlashimiz kerak bo’lib, 
bu yerda 

kerakli aniqlikdagi yetarlicha kichik son. Amaliyot nuqtai nazaridan eng 
soda va eng oson usul bu kesmani teng ikkiga bo’lish usulidir. Shunday qilib, 
bizga (3.1) tenglama va bu tenglamaning 

a b; 

oraliqqa tegishli bitta ildizi 
berilgan bo`lsin. (3.1) tenglama ildizining 

a b; 

oraliqqa tegishli bo'lishining 
zaruriy sharti f a f b ( )


( ) 0. Bu шарт algoritmni tuzishdagi asosiy shart bo'ladi.
Soddagina qilib algoritmni quyidagicha maxsus tushuntirishlarsiz sxematik tarzda 
keltiramiz: 
1. Kiritish a b, , . 

2. с a b = + ( )/ 2. 
3. Agar f a f ( )


(с) 0. b = с bo`lsa u holda а с = . 
4. Agar b − 

а 

bo`lsa, u holda 2 ga o`tilsin. 
5. х a b = + ( )/ 2. 
6. Chiqish х. 
Algoritmning g'oyasi shundan iboratki, oraliqni ikkiga bo'lgandan so'ng, bo’lakni 
yarmini, ya’ni izlanayotgan ildiz joylashgan qismini olamiz. Bu usulni davom 
ettirib, n qadamdan keyin biz kerakli ildizni o'z ichiga olgan ( ) / 2n b − а 
uzunligidagi оraliqni olamiz. Agar bu oraliqning uzunligi 

dan kichik bo'lsa, u 
holda bu oraliqning istalgan nuqtasi , izlanayotgan ildizdan 

dan kichik masofada 
joylashgan bo'lади. Shunday qilib, ushbu oraliqning o'rtasini kerakli ildizning 
taqribiy qiymati sifatida tanlaymiz. Quyidagi tengsizlikdan 

aniqlikka erishish 
uchun zarur bo'lgan qadamlar sonini oson hisoblab topish mumkin. 


Algoritmning hossalari Masala yoki mummoni hal etish jarayoni uchun keltirilgan 
algoritmlar ma‘lum bir hususiyatlarga bo‘ysinish kerak. Bu hususiyatlarni 
e‘tiborga olib algoritmlar quyidagi xossalarga ega.
1. Diskretlilik (CHeklilik). Bu xossaning mazmuni algoritmlarni doimo chekli 
qadamlardan iborat qilib bolaklash imkoniyati mavjudligida. Ya‘ni uni chekli 
sondagi oddiy korsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar 
kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qollay olmasak, uni 
algoritm deb bolmaydi.
2. Tushunarlilik. Biz kundalik hayotimizda berilgan algoritmlar bilan ishlayotgan 
elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik va mexanik 
qurilmalarni kuzatamiz. Ijrochiga tavsiya etilayotgan korsatmalar, uning uchun 
tushunarli mazmunda bolishi shart, aks holda ijrochi oddiygina amalni ham bajara 
olmaydi. Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin. 
Har bir ijrochining bajarishi mumkin bolgan korsatmalar yoki buyruqlar majmuasi 
mavjud, u ijrochining korsatmalar tizimi deyiladi. Demak, ijrochi uchun 
berilayotgan har bir korsatma ijrochining korsatmalar tizimiga mansub bolishi 
lozim. Ko’rsatmalarni ijrochining ko’rsatmalar tizimiga tegishli boladigan qilib 
ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a‘lochi 
o’quvchisi "son kvadratga oshirilsin" degan korsatmani tushunmasligi natijasida 
bajara olmaydi, lekin "son o’zini o’ziga ko’paytirilsin" shaklidagi ko’rsatmani 
bemalol bajaradi, chunki u korsatma mazmunidan kopaytirish amalini bajarish 
kerakligini anglaydi.
3. Aniqlik. Ijrochiga berilayotgan korsatmalar aniq mazmunda bolishi zarur. 
Chunki korsatmadagi noaniqliklar moljaldagi maqsadga erishishga olib kelmaydi. 
Odam uchun tushunarli bolgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin", "1-
2 qoshiq solinsin", "tenglamalardan biri yechilsin" kabi noaniq korsatmalar robot 
yoki kompyuterni qiyin ahvolga solib qoyadi. Bundan tashqari, korsatmalarning 


qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, korsatmalar 
aniq berilishi va faqat algoritmda korsatilgan tartibda bajarilishi shart ekan. 
4. Ommaviylik. Har bir algoritm mazmuniga kora bir turdagi masalalarning 
barchasi uchun ham orinli bolishi kerak. Ya‘ni masaladagi boshlang’ich 
ma‘lumotlar qanday bolishidan qat‘iy nazar algoritm shu xildagi har qanday 
masalani yechishga yaroqli bolishi kerak. Masalan, ikki oddiy kasrning umumiy 
mahrajini topish algoritmi, kasrlarni turlicha ozgartirib bersangiz ham 15 ularning 
umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish 
algoritmi, uchburchakning qanday bolishidan qat‘iy nazar, uning yuzini hisoblab 
beraveradi.
5. Natijaviylik. Har bir algoritm chekli sondagi qadamlardan song albatta natija 
berishi shart. Bajariladigan amallar kop bolsa ham baribir natijaga olib kelishi 
kerak. Chekli qadamdan song qoyilgan masala yechimga ega emasligini aniqlash 
ham natija hisoblanadi. Agar ko‗rilayotgan jarayon cheksiz davom etib natija 
bermasa, uni algoritm deb atay olmaymiz. Qiymat berish buyrug‟i (taminlash 
operatori yoki o‟zlashtirish operatori) Matematikada x=5 yozuvini x 5 ga teng , 
x=x+1 yozuvini x x+1 ga teng deb o‘qiymiz. Lekin informatikada o‘zgaruvchiga 
beriladigan qiymat (:=) belgi orqali beriladi . Masalan : x:=5 yozuvi x ga 5 qiymat 
berilsin deb o‘qiladi , x:=x+5 yozuvi esa x ga x+5 qiymat berilsin yoki x x+5 
qiymat bilan taminlansin deb o‘qiladi. Informatikada bitta o‘zgaruvchi ketma-ket 
bir necha qiymatlar olsa eng oxirgi olgan qiymati qolib qolganlari o‘chib ketadi. 
Buni quydagicha tasavvur qilamiz . Har bir o‘zgaruvchi uchun daftarning bitta 
katakchasi ajratilgan va o‘zgaruvchining har bir qiymati katakcha kattaligidagi 
qog‘ozga yozib o‘sha katakchaga kileylab qo‘yiladi deb tushuning. Natijada 
oldingilari ko‘rinmay qoladi. Masalan, quydagi buyruqlar bajarilgach a va b lar 
qanday qiymatlar oladi:
a:=4 , b:=27 ; a:= ; b:=a*b ; a:=b/3; b:=b+a ; a:=b/a; 
Chiziqli algoritmlar Masalani hal etish uchun tuzilgan algoritm tarkibidagi 
buyruqlar ketma ketligi uzluksiz bo‘lishi mumkin yoki qandaydir holatlarda 
shartlar asosida uzluksizlik tarqatilishi mumkin. Chiziqli algoritmlarda esa 


buyruqlar ketma-ketligi doim uzluksiz bo‗ladi. Algoritmni ijro etishda uning 
buyruqlari qanday tartibda berilgan bo‘lsa, o‘sha tartibda bajarilsa, bunday 
algoritmlarni bajarish ― buyruqlar tabiiy tartibiga bo‘ysunadi ― deyiladi. Agar 
algoritmlarning buyruqlarini bajarish tabiiy tartibga bo‘ysunsa, bunday algoritmlar 
chiziqli algoritmlar deyiladi. Biz to hozirga qadar o‘rgangan barcha algoritmlar 
chiziqli algoritmlardir . Tarif: Algoritm bajarilish vaqtida hech qanday to‘siqqa 
uchramasdan buyruqlar bajarilish ketma-ketligi tabiiy tartibgaga bo‘ysunsa bunday 
algoritmlar chiziqli algoritmlar deyiladi. Demak algoritm bajarilishida hech qanday 
shart bolmaslik va uzluksizlik yo‘qolmaslik kerak. Algoritm tuzish vaqtida uning 
turini aniqlash uchun masala tarkibida hech qanday shart yoki takrorlanish 
bolmaslik kerak. Har qanday masala algoritmini ham uchta chiziqli, shartli va 
takrorlanuvchi algoritmlar yordamida tasvirlash mumkin. Chiziqli algoritmlar 
bajarilish vaqtida buyruqlar ketma-ketligi buzilmasdan davom etadi. Masala 
tarkibida hech qanday shartlar va takrorlanishlar ishtirok etmasa, bunday 
masalalarni chiziqli algoritmlar asosida hal etish mumkin. Misol: x ni qiymati 
berilganda quyidagi funksiyani hisoblash algoritmini keltiring. 
Bu masala algoritmini tuzish jarayoni x nomalumning qiymati berilganda y 
funksiyaning natijasi hisoblanish kerak. Demak faqat x ning qiymati kiritilib y 
funksiyaning natijasi hisoblanish kerak bo‗ladi. Berilgan masala uchun 
algoritmning quyidagicha ya‘ni so‗zlar va blok-sxema ko‗rinishida tasvirlanishiga 
e‘tibor bering. 


Blok-sxemalar bilan ishlashni yaxshilab o’zlashtirib olish zarur, chunki bu usul 
algoritmlarni ifodalashning qulay vositalaridan biri bo‗lib, programma tuzishni 
osonlashtiradi, programmalash qobiliyatini mustahkamlaydi. Algoritmik tillarda 
blok - sxemaning asosiy strukturalariga maxsus operatorlar mos keladi.Shuni 
aytish kerakki, blok-sxemalardagi yozuvlar odatdagi yozuvlardan katta farq 
qilmaydi. Faqat ketma-ket bajariladigan amallardan tashkil topgan algoritmlarga-
chiziqli algoritmlar deyiladi. Bunday algoritmni ifodalash uchun ketma-ketlik 
strukturasi ishlatiladi. Strukturada bajariladigan amal mos keluvchi shakl bilan 
ko‗rsatiladi. Aslida programma ham algoritmning boshqa bir ko‗rinishi bo‗lib, u 
insonning kompyuter bilan muloqotini qulayroq amalga oshirish uchun 
mo‗ljallangan. Misol: Uchburchak tomonlari berilganda unga ichki va tashqi
chizilgan aylana radiuslarini hisoblash algoritmi tuzilsin. 


Determinantlarni hisoblashda qo'llaniladigan bir nechta algoritmlar mavjud. Bu 
algoritmlar matritsaning o'lchamiga, shakliga va sizning iste'folaringizga bog'liq 
ravishda tanlanadi. Quyidagi eng ko'p ishlatiladigan algoritmlarni ko'rib chiqamiz: 
1. Sarrus Method: Bu metod 3x3 matritsalarda determinantni hisoblash uchun 
foydalaniladi. Ushbu metodda matritsaning elementlarini tartibga solish va ulardan 
yana tartibga solingan diagonallar bo'yicha ko'paytirish va ayirish amallari 
qo'llaniladi.
2. Laplace Expansion: Bu metod barcha o'lchamli matritsalarda determinantni 
hisoblash uchun foydalaniladi. Ushbu metodda matritsaning har bir elementi uchun 
minorlar (elementni o'chirib tashlash bilan hosil bo'lgan matritsa) va ularga mos 
keladigan ko'efitsiyentlar hisoblanadi.
3. Cofactor Expansion: Bu metod ham Laplace Expansion metodiga o'xshash 
bo'lib, matritsaning har bir elementi uchun cofactor (elementni o'chirib 


tashlangandan keyin hosil bo'lgan minorning determinantiga -1 darajasi) 
hisoblanadi. 
4. Row Reduction: Bu metod matritsaning satrlariga va ustunlariga murojaat qilib, 
determinanti hisoblashda matritsaning elementlarini o'zgartirishni o'z ichiga oladi. 
5. Matrix Inversion: Determinantni hisoblashda foydalanilishi mumkin bo'lgan 
boshqa bir usul ham matritsaning inverziyasini topish orqali amalga oshiriladi. Bu 
algoritmlar har bir matritsaning determinantini hisoblashda foydalaniladi va 
matematikada juda mashhurdir. Matematikadan qiziqarliroq bo'lsangiz, bu 
algoritmlarni o'rganish va tushunish juda muhimdir. 
Determinantlarni hisoblash uchun bajariladigan amallar sonini baholash 
algoritmini Java tilida quyidagi shaklda yozib kordim:
3x3 matritsaning determinantini topish. 
package 
org.example; 
import 
java.util.Scanner; 
public class 
Matrix { 
static int 
determinant_3x3
(
int
[][] matrix) { 
int 
det = matrix[
0
][
0
] * (matrix[
1
][
1
]*matrix[
2
][
2
] - 
matrix[
1
][
2
]*matrix[
2
][
1
]) - matrix[
0
][
1
] * (matrix[
1
][
0
]*matrix[
2
][
2
] - 
matrix[
1
][
2
]*matrix[
2
][
0
]) + matrix[
0
][
2
] * (matrix[
1
][
0
]*matrix[
2
][
1
] - 
matrix[
1
][
1
]*matrix[
2
][
0
]); 


return 
det; 

public static void 
main
(String[] args) { 
Scanner scanner = 
new 
Scanner
(System.
in
); 
int
[][] matrix = 
new int
[
3
][
3
]; 
System.
out
.
println
(
"Matritsaning 3x3 elementlarini kiriting:"
); 
for 
(
int 
i = 
0
; i < 
3
; i++) { 
for 
(
int 
j = 
0
; j < 
3
; j++) { 
System.
out
.
print
(
"matrix["
+i+
"]["
+j+
"]="
); 
matrix[i][j] = scanner.
nextInt
(); 


int 
det = 
determinant_3x3
(matrix); 
System.
out
.
println
(
"Matritsaning determinant: " 
+ det); 
scanner.
close
(); 


package 
org.example; 
import 
java.util.Scanner; 
public class 
Matrix { 
static int 
determinant_nxn
(
int
[][] matrix) { 
int 
n = matrix.length; 
if 
(n != matrix[
0
].length) { 
System.
out
.
println
(
"Kiritilgan matritsa kvadrat emas"
); 
return 
0


if 
(n == 
1
) { 


return 
matrix[
0
][
0
]; 

int 
det = 
0

for 
(
int 
i = 
0
; i < n; i++) { 
int
[][] subMatrix = 
new int
[n - 
1
][n - 
1
]; 
for 
(
int 
j = 
1
; j < n; j++) { 
for 
(
int 
k = 
0
; k < n; k++) { 
if 
(k < i) { 
subMatrix[j - 
1
][k] = matrix[j][k]; 

else if 
(k > i) { 
subMatrix[j - 
1
][k - 
1
] = matrix[j][k]; 



int 
sign = (
int
) Math.
pow
(-
1
, i); 
det += sign * matrix[
0
][i] * 
determinant_nxn
(subMatrix); 

return 
det; 

public static void 
main
(String[] args) { 
Scanner scanner = 
new 
Scanner
(System.
in
); 
System.
out
.
print
(
"Matritsaning o'lchami (n): "
); 
int 
n = scanner.
nextInt
(); 
int
[][] matrix = 
new int
[n][n]; 
System.
out
.
println
(
"Matritsaning " 
+ n + 
"x" 
+ n + 
" elementlarini 
kiriting:"
); 
for 
(
int 
i = 
0
; i < n; i++) { 
for 
(
int 
j = 
0
; j < n; j++) { 
System.
out
.
print
(
"matrix["
+i+
"]["
+j+
"]="
); 
matrix[i][j] = scanner.
nextInt
(); 


System.
out
.
println
(
"Kiritilgan " 
+ n + 
"x" 
+ n + 
" matritsa:"
); 
for 
(
int 
i = 
0
; i < n; i++) { 
for 
(
int 
j = 
0
; j < n; j++) { 
System.
out
.
print
( matrix[i][j]+
"
\t
"
); 

System.
out
.
println
(); 

int 
det = 
determinant_nxn
(matrix); 
System.
out
.
println
(
"Matritsaning determinant: " 
+ det); 
scanner.
close
(); 


Quyidagi yaratgan NxN matritsa determinantini toppish dasturim asosida 4x4 
matritsaning determinantini topib tekshirib koramiz. 



Download 0,8 Mb.
  1   2




Download 0,8 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti algoritmlarni Loyihalash Fanidan

Download 0,8 Mb.
Pdf ko'rish