You are on page 1of 4

Лабораторна робота №5

Двовимірні масиви. Обробка матриць


Варіант 6
Завдання 1
6. Знайти максимальний елемент матриці С=(Х+У) та його індекс. Х та У
матриці розміром M×N.
#include <stdio.h>
#include <iostream>
#include <conio.h>
#define N 3
#define M 5

int main() {
setlocale(LC_ALL, "Ukrainian");
int X[N][M], Y[N][M], C[N][M], max = 0, max_ryad, max_stovp;
puts("Введiть елементи матрицi X");//Введення матриці Х
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
scanf_s("%d ", &X[i][j]);
}
}
puts("Отримана матриця X");//Виведення матриці Х
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
printf("%d \t ", X[i][j]);
}
puts("\n");
}
fflush(stdin);
puts("Введiть елементи матрицi Y");//Введення матриці Y
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
scanf_s("%d ", &Y[i][j]);
}
}
puts("Отримана матриця Y");//Виведення матриці Y на екран
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
printf("%d \t ", Y[i][j]);
}
puts("\n");
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
C[i][j] = X[i][j] + Y[i][j];
}//Додавання відповідних елементів матриць
}
puts("Сума матриць виведена в матрицi С");
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
printf("%d \t ", C[i][j]);
}
puts("\n");
}//Виведення матриці С на екран
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
if (C[i][j] > max) {
max = C[i][j];
max_ryad = i;
max_stovp = j;
}
}//Пошук максимального елементу та його індексу
}
printf("Максимальний елемент матрицi С - %d, його iндекс [%d][%d]\n",
max, max_ryad + 1, max_stovp + 1);//Ввиведення результатів пошуку на екран

return 0;
}

Завдання 2
6. Сформувати вектор d з найбільших негативних елементів відповідних
стовпчиків матриці s[3*5].
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <vector>
#define N 3
#define M 5
using namespace std;

int main() {
setlocale(LC_ALL, "Ukrainian");
int X[N][M], min_negat;
vector <int> vect(M);
puts("Введiть елементи матрицi Х");//Введення матриці Х
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
scanf_s("%d ", &X[i][j]);
}
}
puts("Отримана матриця X");//Виведення матриці Х
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
printf("%d \t ", X[i][j]);
}
puts("\n");
}
fflush(stdin);
for (int j = 0; j < M; j++) {
min_negat = X[0][j];
for (int i = 0; i < N; i++) {
if (X[i][j] < min_negat && X[i][j] < 0) {
min_negat = X[i][j];
}//Пошук мінімального негативного елементу кожного
стовпця
}
if (min_negat < 0) {
vect[j] = min_negat;
}//Присвоєння значень вектору
if (min_negat < 0) {
printf("Мiнiмальний негативний елемент %d стовпчика: %d\
n", j + 1, min_negat);
}
else {
printf("У %d рядку немає негативних елементiв\n", j + 1);
}//Виведення результатів пошуку на екран
}
puts("Отриманий вектор негативних елементiв\n");
for (int i = 0; i < M; i++) {
printf("%d ", vect[i]);
}//Виведення вектора на екран

return 0;
}

You might also like