You are on page 1of 7

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ ТАРАСА ШЕВЧЕНКA


ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра інтелектуальних технологій

Лабораторна робота №2
з дисципліни «Алгоритмізація та програмування»
з теми : «Двовимірні масиви»
Варіант №5

Виконала студентка
групи КН-12
Пхайко Софія Дмитрівна
Перевірила:
Гамоцька Сніжана Леонідівна

Київ – 2020
Matrix5. Даны целые положительные числа M, N, число D и набор из M
чисел. Сформировать матрицу размера M × N, у которой первый столбец
совпадает с исходным набором чисел, а элементы каждого следующего
столбца равны сумме соответствующего элемента предыдущего столбца и
числа D (в результате каждая строка матрицы будет содержать элементы
арифметической прогрессии).
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
M,N-цілі. 1.Ввести M,N,D. a[i][j]
D- дійсне 2. double** a = new double* [M];
3.Для i=0:
a[i] = new double[N];
4.Для і=0 : ввести a[i][0]
5.Для і=0:
Для j=0:
Якщо j != N – 1 ,то вивести a[i]
[j];

Рисунок 1-Схема алгоритму


Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main() {
int M, N;
double D;
cout << "M="; cin >> M;
cout << "N="; cin >> N;
cout << "D="; cin >> D;
double** a = new double* [M];
for (int i = 0; i < M; i++)
a[i] = new double[N];

cout << "Enter " << M << " numbers:\n";


for (int i = 0; i < M; i++)
cin >> a[i][0];

cout << "\n";


for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
if (j != N - 1) a[i][j + 1] = a[i][j] + D; cout << a[i][j] << " ";
}
cout << "\n";
}
system("pause");
return 0;
}

Результат роботи програми:

Рисунок 2 – Результат виконання програми

Matrix7. Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Вывести


элементы K-й строки данной матрицы.

Таблиця 1 -МПЗ
Вхідні дані Дії Вихідні
дані
M,N,K-ціле 1.Ввести m,n,k; Sum-ціле
2.Для і=0 :
Ввести a[i][j];
3.Для j = 0:
sum += a[k - 1][j];
p *= a[k - 1][j];
4.Вивести sum.
Рисунок 3-Схема алгоритму
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main() {
int m, n, k, i, j, sum = 0, p = 1;
cout << "M="; cin >> m;
cout << "N="; cin >> n;
cout << "K="; cin >> k;
int a[m][n];

for (int j = 0; j < m; j++)


for (int i = 0; i < n; i++) {
cout << "a[" << i + 1 << "," << j + 1 << "]=";
cin >> a[i][j];
}
for (j = 0; j < n; j++) {
sum += a[k - 1][j];
p *= a[k - 1][j];
}
cout << "Sum=" << sum << endl;
cout << "Произведение = " << p;
return 0;
}
Результат роботи програми:

Рисунок 4 – Результат виконання програми


E2. Для матриці В розміром QxR визначити та вивести на екран: 1) добуток
елементів для кожного рядка; 2) суму елементів для кожного стовпця.

Таблиця 1 -МПЗ
Вхідні Дії Вихідні дані
дані
1.Для i = 0:dob_i = 1; Sum_j,dob_i-цілі
Для j = 0 : dob_i = dob_i * b[i][j];
Вивести b[i][j];
2.Вивести dob_i;
3.Для j = 0 : sum_j = 0 ;
Для i = 0: sum_j = sum_j + b[i][j];
Вивести b[i][j];
4.Вивести sum_j;

Рисунок 5-Схема алгоритму


Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main() {
int q = 2, r = 3, i, j, dob_i = 1, sum_j = 0;
int b[2][3] = { {1,2,3}, {4,5,6} };
for (i = 0; i < q; ++i)
{
dob_i = 1;
for (j = 0; j < r; ++j)
{
dob_i = dob_i * b[i][j];
cout << "b[" << i + 1 << "][" << j + 1 << "]=" << b[i][j] << endl;
}
cout << "dob ryad" << i + 1 << "=" << dob_i << endl;
}
for (j = 0; j < r; ++j)
{
sum_j = 0;
for (i = 0; i < q; ++i)
{
sum_j = sum_j + b[i][j];
cout << "b[" << i + 1 << "][" << j + 1 << "]=" << b[i][j] << endl;

}
cout << "sum stovp" << j + 1 << "=" << sum_j << endl;
}
return 0;
}
Результат виконання програми :

Рисунок 6 – Результат виконання програми

E1. Для матриці С розміром ТxК обчислити та вивести на екран кількість


парних елементів, сума індексів яких також парна.

Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
1.Для i = 0:sum_i = 1; k-ціле
Для j = 0 : sum_i = sum_i * b[i][j];
Вивести b[i][j];
2.Якщо ((b[2][3] % 2) == 0):
Якщо (sum_i % 2) == 0),то k++;
3.Вивести k.
if
((sum_i % 2) == 0) k++
Рисунок 7-Схема алгоритму
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main() {
int q = 2, r = 3, k = 0, sum_i;
int b[2][3] = { {1,2,3}, {4,5,6} };
for (int i = 0; i < q; ++i)
{
sum_i = 1;
for (int j = 0; j < r; ++j)
{
sum_i = sum_i * b[i][j];
cout << "b[" << i + 1 << "][" << j + 1 << "]=" << b[i][j] << endl;
if ((b[2][3] % 2) == 0) {
if ((sum_i % 2) == 0) k++;
}
}
}

cout << "k=" << k << endl;


return 0;
}
Результат виконання програми :

Рисунок 8-Результат виконання програми

You might also like