You are on page 1of 3

ЛАБОРАТОРНА РОБОТА 12

ПЕРЕДАЧА ПАРАМЕТРІВ ЗА ДОПОМОГОЮ ПОКАЖЧИКІВ ПРИ


НАПИСАННІ ФУНКЦІЙ.
ВАРІАНТ 6
ЗАВДАННЯ 1
Задаються три одновимірні масиви, кожен із яких має довільну кількість елементів.
Відповідно виконати обробку до свого варіанту.
Окрім функції main() застосувати дві функції:
одна – для введення елементів окремого масиву з клавіатури;
друга – для його аналізу (з метою отримати потрібні результати).

Для кожного із масивів знайти найменший та найбільший елементи та їхні номери.


#include <stdio.h>
#include <iostream>
#include <conio.h>
#define N 5
#define L 7
#define M 9
void input(int x[], int n, char q);
void output(int x[], int n, char q);
void analiz(int x[], int n, int *min, int *ind_min, int *max, int *max_ind);
//Прототипи функцій

int main() {
setlocale(LC_ALL, "Ukrainian");
int A[N], B[L], C[M];
int minA, minB, minC, ind_minA, ind_minB, ind_minC;
int maxA, maxB, maxC, max_indA, max_indB, max_indC;//оголошення змінних
input(A, N, 'A');
output(A, N, 'A');
input(B, L, 'B');
output(B, L, 'B');
input(C, M, 'C');
output(C, M, 'C');//звернення до функцій введення та виведення масивів
analiz(A, N, &minA, &ind_minA, &maxA, &max_indA);//звернення до функції
аналізу масиву
printf("Мiнiмальний елемент масиву А: %d та його iндекс: %d\nМаксимальний
елемент масиву A: %d та його iндекс: %d\n", minA, ind_minA + 1, maxA, max_indA +
1);
analiz(B, N, &minB, &ind_minB, &maxB, &max_indB);//звернення до функції
аналізу масиву
printf("Мiнiмальний елемент масиву B: %d та його iндекс: %d\nМаксимальний
елемент масиву B: %d та його iндекс: %d\n", minB, ind_minB + 1, maxB, max_indB +
1);
analiz(A, N, &minC, &ind_minC, &maxC, &max_indC);//звернення до функції
аналізу масиву
printf("Мiнiмальний елемент масиву C: %d та його iндекс: %d\nМаксимальний
елемент масиву C: %d та його iндекс: %d\n", minC, ind_minC + 1, maxC, max_indC +
1);
//виведення результатів
return 0;
}

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


printf("Масив %c \n", q);
for (int i = 0; i < n; i++) {
scanf_s("%d", &x[i]);// заповнення масиву випадковими числами
}//введення масиву
return;
}
void output(int x[], int n, char q) {
printf("Отриманий масив %c \n", q);
for (int i = 0; i < n; i++) {
printf("%d ", x[i]);// заповнення масиву випадковими числами
}//виведення масиву
puts("\n");
return;
}
void analiz(int x[], int n, int *min, int *ind_min, int *max, int *max_ind) {
*min = *max = x[0];
*ind_min = *max_ind = 0;
for (int i = 0; i < n; i++) {
if (x[i] < *min) {
*min = x[i];
*ind_min = i;//пошук мінімального елементу та його індексу
}
if (x[i] > *max) {
*max = x[i];
*max_ind = i;//пошук максимального елементу та його індексу
}
}
return;
}

You might also like