1 семестр / лр 14
.docxУчреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра информационных систем и технологий
ОТЧЕТ
по лабораторной работе №14
Многомерные массивы
Выполнила: студентка ФИТ группы № 9 Каленик Алина
Проверила: Пустовалова Наталья Николаевна
Минск 2020
Задание №1
Для заданной целочисленной матрицы A(n, m) определить, является ли сумма её элементов чётным числом.
#include<iostream>
#include<locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int A[100][100], s = 0, m, n;
cout << "Введите количество строк ";
cin >> n;
cout << "Введите количество столбцов ";
cin >> m;
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
A[i][j] = rand() % 10;
cout << "A[" << i << "][" << j << "]=" << A[i][j] << " ";
s += *(*(A + i) + j);
}
cout << endl;
}
if (s % 2 == 0)
cout << "\nCумма элементов матрицы - четное число, равное " << s << endl;
else
cout << "\nCумма элементов матрицы - нечетное число, равное " << s << endl;
}
Задание №2
Задана матрица размером nxm и число k. В переменную f поместить значение 0, если все элементы k-ой строки упорядочены по убыванию, и значение 1 − в противном случае.
#include<iostream>
#include<locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
const int n = 3, m = 5; int A[n][m], s = 0, k, f=0;
cout << "Введите номер строки(<3) ";
cin >> k;
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
A[i][j] = rand() % 10;
cout << "A[" << i << "][" << j << "]=" << A[i][j]<<" ";
}
cout << endl;
}
for (int i = k - 1, j = 4; j > 0; j--)
{
if (A[i][j] < A[i][j - 1])
f = 1;
else
{
f = 0;
break;
}
}
if(f!=0)
cout << "\nЭлементы в строке k упорядочены по убыванию, значение f = " << f << endl;
else
cout << "\nЭлементы в строке k не упорядочены по убыванию, значение f = " << f << endl;
}
Дополнительное задание
Латинским квадратом порядка n называется квадратная таблица размером nхn, каждая строка и каждый столбец которой содержат все числа от 1 до n. Для заданного n в матрице L(n, n) построить латинский квадрат порядка n.
#include<iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int n, t, А[100][100];
cout << "Введите число ";
cin >> n;
for (int i = 0; i < n; i++)
{
t = i + 1;
for (int j = 0; j < n; j++)
{
А[i][j] = t;
t++;
if (t > n)
t = 1;
cout << А[i][j] << " ";
}
cout << endl;
}
}