Вы находитесь на странице: 1из 5

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ


«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ
ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
______________________________ _________________________________________

Факультет Информационных систем и технологий


Кафедра Безопасности информационных систем

Дисциплина «Технологии программирования»

ОТЧЕТ

За практическое занятие №2

Тема: Обработка данных в массивах

Выполнил
Студент 2 курса, гр. ИБ-04з
_____________ Алексеев Е.А.

Принял
Доцент кафедры БИС
_____________ Медведев В.А.

Санкт-Петербург
2021
Задание (вариант 2). Разработать программу, которая определяет,
является ли введённая с клавиатуры (или заданная явно) квадратная матрица
"магическим" квадратом. "Магическим" квадратом называется матрица, у
которой сумма чисел в каждом горизонтальном ряду, в каждом вертикальном
и по каждой из диагоналей одна и та же. Например:
Листинг программы:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int size, sum = 0;
cout << "Enter array size: ";
cin >> size;
vector < vector <int> > arr(size, vector <int>(size)); // Задаем двухмерный массив с размерностью, введенной с
клавиатуры

// Заполняем массив и записываем каждый элемент в сумму


for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
cin >> arr[i][j];
sum += arr[i][j];
}
}
// Вывод массива
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{

cout << arr[i][j] << " ";


}
cout << endl;
}
int mConst = (size * (size * size + 1)) / 2; // Формула магической константы

// Проверка, если магическая константа равна сумме всех элементов матрицы деленные на размерность, то
матрица является магическим квадратом
if (mConst == (sum / size))
{
cout << "Matrix is magic square";
}
else {
cout << "Matrix is not magic square";
}
}
Скриншоты работы программы:

Результат работы программы с вводом матрицы из примера.

Результат работы программы с вводом случайной матрицы, не являющейся


магическим квадратом.
Заключение

При написании данной практической работы мной были получены навыки


работы с двумерными массивами и циклами.

Вам также может понравиться