You are on page 1of 3

ЛАБОРАТОРНА РОБОТА 11

ФУНКЦІЇ, ПЕРЕДАВАННЯ МАСИВІВ ПІД ЧАС ВИКЛИКУ ФУНКЦІЙ


ВАРІАНТ 6
ЗАВДАННЯ 1
Обчислити z = (xm1 + xm2) / 2, де xm1, xm2 – найменші за модулем елементи
масивів x1(7, 9), x2(8, 6). Найменші елементи масивів обчислювати за
допомогою функції.
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <conio.h>
#define N 9
void input(int x[][N], int n, int m, char q);
void output(int x[][N], int n, int m, char q);
int min(int x[][N], int n, int m);//Прототипи функцій

int main() {
setlocale(LC_ALL, "Ukrainian");
int A[N][N], B[N][N];
int x1, y1, x2, y2;
float minimal;//оголошення змінних
printf("Введiть розмiрнiсть матрицi A <= 9 \n");
scanf_s("%d %d", &x1, &y1);//введення розмірності матриці А
input(A, x1, y1, 'A');
output(A, x1, y1, 'A');//звернення до функкцій введення та виведення матриці
puts("Введiть розмiрнiсть матрицi B <= 9 \n");
fflush(stdin);
scanf_s("%d %d", &x2, &y2);//введенне розмірності матриці В
input(B, x2, y2, 'B');
output(B, x2, y2, 'B');//звернення до функкцій введення та виведення матриці
minimal = (1.0 * min(A, x1, y1) + 1.0 * min(B, x2, y2)) / 2.0;//обчисленння
середнього арифметичного мінімальних за модулем елементів матриць
printf("Середнє арифметичне мiнiмальниз за модулем чисел двох матриць =
%.3f", minimal);
//виведення результатів
return 0;
}

void input(int x[][N], int n, int m, char q) {


printf("Масив %c \n", q);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
x[i][j] = rand() %30+10;// заповнення матриці випадковими числами
}
}//введення масиву
return;
}
void output(int x[][N], int n, int m, char q) {
printf("Отримана матриця %c \n", q);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d\t ", x[i][j]);
}
puts("\n");
}//виведення масиву
return;
}
int min(int x[][N], int n, int m) {
int xm = abs(x[0][0]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (abs(x[i][j]) < xm) {
xm = abs(x[i][j]);//пошук мінімального елемента за модулем
}
}
puts("\n");
}
return xm;
}

You might also like