c++ da matritsa elementlari bo‘yicha ko‘paytirish modulini ishlab chiqish
MAVZU: c++ da matritsa elementlari bo‘yicha ko‘paytirish modulini ishlab chiqish Reja I. Kirish II. Asosiy qism 1.Matritsa ko‘paytirilishining qisqa izohi. 2.Modul operatsiyasini haqida. 3. Dasturlashda matritsa operatsiyalarining ahamiyati va qo‘llanilishi. 4. Masala bayonoti. III. Xulosa IV. Foydalangan adabiyotlar Kirish
Bu kurs ishining maqsadi C++ dasturlash tili yordamida matritsa elementlarini ko‘paytirish modulini hisoblashni o‘rganish va amalga oshirishdir. Matritsa elementlarini qabul qilib olish vazifasi, dastur yozilgandan so‘ng foydalanuvchidan matritsa o‘lchamini (qator va ustunlar soni) va matritsa elementlarini kiritishni so‘raydi. Bu maqsadni amalga oshirish uchun dastur boshlang'ich bo‘lib, matritsaning o‘lchami va uni tarkib qilgan elementlarni olishadi. Foydalanuvchidan kiritilgan ma'lumotlarni qabul qilish dasturni ma'lumotlarga kiriting, keyin matritsaning har bir elementini o'qib, matritsa o‘chamini va elementlarini konsolga chiqarish uchun ularga kerak bo‘lgan dasturlash algoritmlarini bajaradi. Ko‘paytirish amalini bajarish vazifasi, foydalanuvchidan kiritilgan matritsa elementlarini ko‘paytirib, ularning ko‘paytirish natijasini hisoblash va uni saqlashni o‘z ichiga oladi. Bu qadamni bajarish uchun dastur, foydalanuvchidan kiritilgan matritsa elementlarini o‘qib oladi, ularni ko‘paytirib olish va umumiy ko‘paytirishni hisoblaydi. Keyin, hisoblangan natijani saqlab, keyinchalik qo‘llanish uchun ekranga chiqaradi. Bu jarayon odatda dasturlash tilining dengizlashtirilgan operatorlari yordamida bajariladi va buning natijasida modul ko‘paytirish jarayoni uchun ishlatilgan oddiy matematik amallar ishlatiladi. Modulni hisoblash vazifasi, ko‘paytirish amalining natijasining modulini hisoblashni o'z ichiga oladi. Modul hisoblashning asosiy maqsadi, bir sonning o‘zgaruvchan bo‘lishini aniqlashdir. Bu jarayon matematikada ma'lumotlar olishning eng oddiy va ko‘p ishlatiladigan operatsiyalaridan biridir. Matritsa elementlarini ko‘paytirib umumiy ko‘paytirishni hisoblagandan so‘ng, ko‘paytirish natijasini hisoblashimiz kerak. Ushbu natija moslamangizga qarab musbat yoki manfiy bo‘lishi mumkin. Buning uchun abs() funksiyasini ishlatish mumkin. Bu funksiya berilgan sonning modulini qaytaradi. Shunday qilib, ko‘paytirish amalining natijasini hisoblaganidan so‘ng, u yagona son bo‘ladi, va shu sonning modulini hisoblaymiz. Asosiy qism
Matritsa ko‘paytirilishining qisqa izohi. Matritsa ko‘paytirish, ikki yoki undan ko‘p matritsalarning har bir elementini bir-biriga ko‘paytirish jarayonidir. Agar biz 2x2 matritsaning har bir elementini boshqa 2x2 matritsaning mos keluvchi elementi bilan ko‘paytirsak, bu ikkita matritsa ko‘paytirilgan bo‘ladi va natijada yangi bir matritsa hosil bo‘ladi. Ko‘paytirish operatsiyasi, matritsalarning qo‘llanilishi, hisoblanishi va dasturlashda keng qo‘llaniladi. Ko‘paytirish natijasining modulini hisoblash, umumiy sifatida, matritsa ko‘paytirilgan bo‘lganda hosil bo‘lgan yangi matritsaning elementlarining ko‘paytirishini hisoblashga asoslanadi. 1-rasm. ?????? × ?????? dona ?????????????????? ( ?????? = 1, ?????? , ?????? = 1, ?????? ) elementlardan tuzilgan to‘g’ri burchakli jadval matritsa deyiladi va yuqoridagi (1-rasm) ko‘rinishda yoziladi. Matritsaning elementlari ikkita indesklar bilan belgilanadi. Elementning birinchi ?????? indeksi satr nomini, ikkinchi ?????? indeks esa ustunning nomerini bildiradi. Matritsaning ?????????????????? elementi ?????? − satr va ?????? − ustun kesishgan joyda joylashgan. Matritsalar odatda katta lotin harflari bilan belgilanadi: ?????? , ?????? , ?????? , . . . ?????? matritsani ?????? songa ko‘paytmasi ???????????? bilan belgilanadi. ?????? matritsaning ?????? songa ???????????? ko‘paytmasi deb shunday ?????? matritsaga aytiladiki, ?????? matritsaning elementlari ?????????????????? = ???????????????????????? dan iboratdir, bu yerda ?????????????????? – ?????? matritsaning elementlari. ?????? matritsani ?????? songa ko‘paytirganda hosil bo‘ladigan ?????? matritsa ?????? matritsa bilan bir xil o‘lchovli bo‘ladi. Hullas, matritsani biror songa ko’paytirish uchun bu matritsaning har bir elementini shu songa ko’paytirib chiqish kerak.
A ?????? × ?????? va ???????????? × ?????? matritsalarning ko’paytmasi deb shunday ???????????? × ?????? = ?????? ⋅ ?????? (sodda qilib, ???????????? ) matritsaga aytiladiki, bu ?????? matritsaning elementlari ?????????????????? = ???????????? 1 ?????? 1 ?????? + ???????????? 2 ?????? 2 ?????? + ???????????? 3 ?????? 3 ?????? +. . . + ???????????????????????????????????? Ko‘rinishda bo‘ladi, bu yerda ?????????????????? va ?????????????????? - mos ravishda ?????? va ?????? matritsalarning elementlari. Bundan ko’rinadiki, ?????? va ?????? matritsalarning ko‘paytmasi ma‘noga ega bo‘lishi uchun ?????? matritsaning ustunlari soni ?????? matritsaning satrlari soniga teng bo‘lishi zarur. Hosil bo‘lgan ???????????? ko‘paytmaning satrlari soni ?????? matritsaning satrlari soniga, ustunlari soni esa ?????? matritsaning ustunlari soniga teng. Matritsa ko‘paytirish: Matritsalarning har bir elementini boshqa matritsaning mos keluvchi elementi bilan ko‘paytiriladi. Bu jarayon dasturlashda quyidagi algoritm asosida amalga oshiriladi: 1.Kiritilgan matritsalarni o‘qib ol. 2.Har bir elementni mos keluvchi elementi bilan ko‘paytir. 3.Yangi natija matritsasini saqla. 4.Natija matritsasini ekranga chiqar. Dastur ko‘rinishi quyidagicha amalga oshiriladi: #include <iostream> // Foydalanuvchidan matritsani kiritish void enterMatrix(int matrix[10][10], int row, int col) { std::cout << "Matritsa elementlarini kiriting:" << std::endl; for (int i = 0; i < row; ++i) { for (int j = 0; j < col; ++j) { std::cin >> matrix[i][j]; } } } // Matritsa ko‘paytirish
void multiplyMatrix(int mat1[10][10], int mat2[10][10], int res[10][10], int row1, int col1, int row2, int col2) { for (int i = 0; i < row1; ++i) { for (int j = 0; j < col2; ++j) { res[i][j] = 0; for (int k = 0; k < col1; ++k) { res[i][j] += mat1[i][k] * mat2[k][j]; } } } } // Natija matritsasini ekranga chiqarish void displayMatrix(int res[10][10], int row, int col) { std::cout << "Natija matritsasi:" << std::endl; for (int i = 0; i < row; ++i) { for (int j = 0; j < col; ++j) { std::cout << res[i][j] << " "; } std::cout << std::endl; } } int main() { int mat1[10][10], mat2[10][10], res[10][10]; int row1, col1, row2, col2; std::cout << "Birinchi matritsa uchun qator va ustunlar sonini kiriting: "; std::cin >> row1 >> col1; enterMatrix(mat1, row1, col1);