Professional Documents
Culture Documents
Лаб№2
Лаб№2
Лабораторна робота №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 -МПЗ
Вхідні дані Дії Вихідні
дані
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];
Таблиця 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;
}
cout << "sum stovp" << j + 1 << "=" << sum_j << endl;
}
return 0;
}
Результат виконання програми :
Таблиця 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++;
}
}
}