
+Нижегородский Государственный Технический Университет Имени Р.Е. Алексеева Кафедра «Энергетические установки и тепловые двигатели» Дисциплина «Компьютерные технологии» Лабораторная работа №5 Тема: Двумерные массивы Вариант №15
Выполнил: Туев А.В. 23-ЭУД-1 Проверила: Шубина Н.В.
Нижний Новгород 2023
Постановка задачи (1) Даны массива A (4,4) вещественны чисел. 1) Вычислить среднее арифметическое положительных элементов всей матрицы. 2) Вычислить среднее арифметическое положительных элементов главной диагонали. 3) Если среднее арифметическое положительных элементов всей матрицы окажется больше – поменять местами первый и последний её элементы. Если же большим окажется среднее арифметическое положительных элементов главной диагонали – поменять местами диагонали в матрице. 4) Поменять местами первый элемент массива C и минимальный элемент массива B. 5) Вывести на экран массивы С и B после перестановки, сдублировать вывод в файл.
Исходный массив:
Вход в print_d(V, x[n][m], n1, m1)
Блок-схема 1) Вспомогательная блок-схема для вывода двумерного массива:
Описание
i,
j, fresult
i
= 0
“Массив
V[n1][m1]:”
i
< n1
j
= 0
j
< m1
fresult
<< x[i][j]
x[i][j]
j++
i++
fresult.close
Конец
Вход
в print_o(V,
x[n],
n1)
Описание
i,
fresult
“Массив
V[n1]:”
i
= 0
i
< n1
fresult
<< x[i]
x[i]
i++
fresult.close
Конец
Начало
Описание
переменных:
const int n = 4, const int m = 4
double a[n][m], c[n],
spm = 0, spgd = 0, sapm, sapgd, tmp, ppp = 1;
int i, ic = 0, j,
ma = 0, gd = 0;
fstream fa, fresult;
j
< m
i
< n
j
= 0
i
= 0
fa.open
fa
>> a[i][j]
j++
i++
fa.close
print_d(‘a’,
a, n, m)
i
= 0
i
< n
i
< n
i
= 0
i++
j++
spm
= spm + a[i][j]
ma++
a[i][j]
> 0
j
< m
j
= 0
a[i][i]
> 0
fresult.open
spgd
= spgd + a[i][i]
gd++
“Среднее
арифметическое положительных элементов
всей матрицы:”
sapm
“Среднее
арифметическое положительных элементов
главной диагонали:”
sapgd
i++
fresult.close
sapm
= spm / sa
sapgd = spgd / gd
sapm
> sapgd
tmp
= a[0][0]
a[0][0] = a[n-1][m-1]
a[n-1][m-1] = tmp
i
= 0
i
< n
i++
print_d(‘a’,
a, n, m)
j
= 0
j
< m
c[ic]
= a[2][j]
ic++
tmp
= a[i][i]
a[i][i] = a[i][n-1-i]
a[i][n-1-i] = tmp
j++
print_o(‘c’,
c, ic)
i
= 0
i
< n
a[i][n-1-i]
> 0
ppp
= ppp * a[i][n-1-i]
i++
fresult.open
“Произведение
положительных элементов побочной
диагонали:”
ppp
fresult.close
Конец
Листинг программы на С++
Результаты программы на С++
Программа в Mathcad