lab 3_3

Run Settings
LanguageC
Language Version
Run Command
/* * @file lab3_3.c * @author Герасимюк Д.В., гр. 515і1 * @date 27 березня 2024 * @brief Лабораторна робота №3, варіант 3 * Використання масивів. Завдання 3 */ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> #include "matrix.h" #define MATRIX_SIZE 7 int main() { setlocale(LC_ALL, "Ukr"); int matrix[MATRIX_SIZE][MATRIX_SIZE]; int choice; printf("Оберіть дію:\n"); printf("1. Введення значень з клавіатури\n"); printf("2. Заповнення випадковими числами\n"); scanf("%d", &choice); // заповнення матриці switch (choice) { case 1: printf("Введіть елементи матриці %dx%d:\n", MATRIX_SIZE, MATRIX_SIZE); for (int i = 0; i < MATRIX_SIZE; i++) { for (int j = 0; j < MATRIX_SIZE; j++) { scanf("%d", &matrix[i][j]); } while (getchar() != '\n'); } break; case 2: fillRandom(matrix); printf("Матриця, заповнена випадковими числами:\n"); printMatrix(matrix); break; default: printf("Некоректний вибір.\n"); return 1; } // сума int sum = sum_matrix(matrix); printf("Сума виділених елементів матриці: %d\n", sum); // положення підматриці int submatrix[3][3] = { {matrix[4][4], matrix[4][5], matrix[4][6]}, {matrix[5][4], matrix[5][5], matrix[5][6]}, {matrix[6][4], matrix[6][5], matrix[6][6]} }; // визначник int det = vyznachnyk(submatrix); printf("Визначник підматриці 3x3: %d\n", det); return 0; }
/* * @file matrix.h * @author Герасимюк Д.В., гр. 515і1 * @date 27 березня 2024 * @brief Лабораторна робота №3, варіант 3 * Використання масивів. Завдання 3 */ #pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> #define MATRIX_SIZE 7 int sum_matrix(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { int sum = 0; for (int i = 0; i < MATRIX_SIZE; i++) { sum += matrix[i][3]; // сума елементів з 4 стовпця sum += matrix[i][6]; // сума елементів з 7 стовпця } return sum; } int vyznachnyk(int submatrix[3][3]) { //метод Саррюса int det = submatrix[0][0] * submatrix[1][1] * submatrix[2][2] + submatrix[0][1] * submatrix[1][2] * submatrix[2][0] + submatrix[0][2] * submatrix[1][0] * submatrix[2][1] - submatrix[0][2] * submatrix[1][1] * submatrix[2][0] - submatrix[0][0] * submatrix[1][2] * submatrix[2][1] - submatrix[0][1] * submatrix[1][0] * submatrix[2][2]; return det; } void fillRandom(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { srand(time(NULL)); for (int i = 0; i < MATRIX_SIZE; i++) { for (int j = 0; j < MATRIX_SIZE; j++) { matrix[i][j] = rand() % 101; // rand від 0 до 100 } } } void printMatrix(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { for (int i = 0; i < MATRIX_SIZE; i++) { for (int j = 0; j < MATRIX_SIZE; j++) { printf("%d\t", matrix[i][j]); } printf("\n"); } }
Editor Settings
Theme
Key bindings
Full width
Lines