DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2023
Тип роботи:
Звіт
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 1: Базові концепції програмування ЗВІТ до модульної контрольної роботи № 1 Варіант 16(1) Дата «01» грудня 2021 Завдання за варіантом: (16) / Ввод та вивід програми: / Код програми: Посилання на Repl.it: https://replit.com/join/wastpgepcm-tr-15khavkin #include <stdio.h> #include <stdlib.h> #include <math.h> void printMatrix(int arr[3][3]){//Метод для виводу матриці printf("Задана матриця"); for(int i=0; i<3;i++){ printf("\n"); for(int j=0;j<3;j++){ printf("\t%d\t", arr[i][j]); } } } float getN(int arr[3][3]){//Метод для обчислювання визначинка 3 float N=0; N = arr[0][0]*arr[1][1]*arr[2][2] + arr[1][0]*arr[2][1]*arr[0][2] + arr[0][1]*arr[1][2]*arr[2][0] - arr[0][2]*arr[1][1]*arr[2][0] - arr[0][1]*arr[1][0]*arr[2][2] - arr[1][2]*arr[2][1]*arr[0][0]; if (N == 0){ printf("\nВизначник дорівнєю 0, обчислення неможливе \n"); } else { printf("\n\nВизначникт: %f\n", N); } return N; } float getM(int arr[3][3], int h, int v){//Метод для обчислювання мінора float M=0; M = pow(-1,h+v); if(h==0 && v==0) M=M*(arr[1][1]*arr[2][2]-arr[2][1]*arr[1][2]); if(h==0 && v==1) M=M*(arr[1][0]*arr[2][2]-arr[2][0]*arr[1][2]); if(h==0 && v==2) M=M*(arr[1][0]*arr[2][1]-arr[2][0]*arr[1][1]); if(h==1 && v==0) M=M*(arr[0][1]*arr[2][2]-arr[2][1]*arr[0][2]); if(h==1 && v==1) M=M*(arr[0][0]*arr[2][2]-arr[2][0]*arr[0][2]); if(h==1 && v==2) M=M*(arr[0][0]*arr[2][1]-arr[2][0]*arr[0][1]); if(h==2 && v==0) M=M*(arr[0][1]*arr[1][2]-arr[1][1]*arr[0][2]); if(h==2 && v==1) M=M*(arr[0][0]*arr[1][2]-arr[1][0]*arr[0][2]); if(h==2 && v==2) M=M*(arr[0][0]*arr[1][1]-arr[1][0]*arr[0][1]); return M; } int main(void){ int a[3][3], i, j; float mat[3][3]; float det; printf("Ввести початкову данні для матриці:\n"); for(i = 0; i < 3; i++)//Ввод початкових данних for(j = 0; j < 3; j++) scanf("%d", &a[i][j]); printMatrix(a); //знаходження изначникту det = getN(a); for(int i=0; i<3;i++)//Знаходження оберненої матриці for(int j=0;j<3;j++) mat[j][i]=getM(a,i,j)/det; printf("\nОбернена матриця");//Вивід оберненої матриці for(int i=0; i<3;i++){ printf("\n"); for(int j=0;j<3;j++){ printf(" %.4f ", mat[i][j]); } } return 0; } Висновок: У контрольній роботі потрібно було знайти обернену матрицю. Створенні допоміжні методи для обчислювання визначника та мінора. Присвоєння змінним для виконання завдання було виконану за допомогою зчитування з командної строки. Було обчислено завдання згідно до варіанту 1(16) з Додатку за допомогою бібліотечних функцій та створених методів. Виведені обидві матриці та визначник. Зроблено звіт з лабораторної роботи та вчасно надіслано викладачу на перевірку.
Антиботан аватар за замовчуванням

30.06.2023 01:00

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!