lab3_task3

Run Settings
LanguageC
Language Version
Run Command
/** * @file main.c * @author Зайченко Д.І., гр. 515i * @date 04 квітня 2023 * @brief Лабораторна робота No 3 * * Використання масивів. Завдання 3 */ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <time.h> #include "header.h" int main() { setlocale(LC_ALL, "Ukr"); int input; int array[7][7]; int check = 0; printf("Виберiть як ви хочете заповнити масив: \n1 - з клавiатури \n2 - випадковi числа"); printf("\nВведiть 1 або 2: "); scanf("%d", &input); switch (input) { //заповнення з клавіатури case 1: by_hand(array); break; //випадкове заповнення case 2: random(array); break; //невірне введення default:printf("Невiрне введення"); return 0; } output(array); printf("Сума видiлених елементiв матрицi = %d\n", summ(array)); printf("Визначник пiдматрицi = %ld", determinant(array)); }
/** * @file realisation.c * @author Зайченко Д.І., гр. 515i * @date 04 квітня 2023 * @brief Лабораторна робота No 3 * * Використання масивів. Завдання 3 */ #include "header.h" //функція заповнення матриці з клавіатури void by_hand(int array[]) { printf("Введіть 1 рядок\n"); for (int i = 0; i < 49; i++) { scanf("%d", array+i); if (i != 0 && (i==6||(i+1)%7==0)) printf("Введіть %d рядок\n",(i+6)/6); } } //функція заповнення матриці випадковими числами void random(int array[]) { srand(time(0)); for (int i = 0; i<49; i++) *(array+i) = (rand()%(N*2)-N); } //функція виведення матриці void output(int array[]) { printf("Ваша матриця: \n"); for (int i = 0; i < 49; i++) { printf("\t%d", *(array + i)); if (i != 0 && (i == 6 || (i + 1) % 7 == 0)) printf("\n"); } } //функція обчислення суми виділених елементів int summ(int array[]) { int temp = *(array+24)*(-1); for (int i = 0; i < 49; i += 8) { temp += *(array + i); } for (int i = 6; i < 43; i += 6) { temp += *(array + i); } return temp; } //функція обчислення визначника підматриці 3х3 long determinant(int array[]){ //обчислення мінорів int minor1 = *(array + 8) * *(array + 16) - *(array + 15) * *(array + 9); int minor2 = *(array + 7) * *(array + 16) - *(array + 9) * *(array + 14); int minor3 = *(array + 7) * *(array + 15) - *(array + 14) * *(array + 8); //обчислення визначника return (*(array) * minor1- *(array+1) * minor2+ *(array+2) * minor3); }
/** * @file header.h * @author Зайченко Д.І., гр. 515i * @date 04 квітня 2023 * @brief Лабораторна робота No 3 * * Використання масивів. Завдання 3 */ #ifndef PROTOTYPES #define PROTOTYPES #include "const.h" void by_hand(int array[]); void random(int array[]); void output(int array[]); int summ(int array[]); long determinant(int array[]); #endif
/** * @file const.h * @author Зайченко Д.І., гр. 515i * @date 04 квітня 2023 * @brief Лабораторна робота No 3 * * Використання масивів. Завдання 3 */ #ifndef CONST #define CONST #define N 100 #endif
Editor Settings
Theme
Key bindings
Full width
Lines