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

Технический университет Молдовы.

Лабораторная работа по

«ДВУМЕРНЫЕ МАССИВЫ»
Вариант: 11.

Выполнила: ст. гр. CR-214. Душков Алексей

Проверил. Brinzan Leon

2021 год

Вариант 11
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С
помощью допустимых преобразований привести систему к треугольному виду.

Найти количество строк, среднее арифметическое элементов которых меньше заданной


величины.

Код:

#include <conio.h> //text interface library

#include <stdlib.h> //base library

#include <stdio.h> //input-output library

#include <stdbool.h> //boolean library

#include <math.h> //mathematics

#include <time.h> //time

int main(void)

const int n = 5, m = 6;

float array[n][m], temp, sum;

int i, j, k, kol, counter, f = 5;

//ввод первоначальной матрицы

printf("iznacealnaya matrita :\n");

srand(time(NULL));

for (i = 0; i < n; i++)

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

array[i][j] = (rand() % 200) - 100;

printf("%10.2f ", array[i][j]);

}
printf("\n");

//находит количество строк, среднее арифметическое элементов которых меньше заданной


величины f = 5

for (int i = 0; i < 5; i++)

sum = 0;

counter = 0;

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

sum += array[i][j];

counter++;

if ((sum / counter) < f)

kol++;

printf("\nNomer stroki, srednee arifmeticescoe elementov kotoroi mense 5 = %d", i + 1);

printf("\n\nKolicestvo strok, srednee arifmeticescoe elementov kotoroi mense 5 = %d\n", kol);

//приводит систему к треугольному виду

for (i = 0; i < n; i++) // идем по строкам

temp = array[i][i]; // запоминаем элементы главной диагонали

for (j = 0; j < m; j++) // делим строку на первый элемент строки

array[i][j] /= temp;
for (j = i + 1; j < n; j++) // идем на следующую строку

temp = array[j][i]; // запоминаем первый элемент следующей строки

for (k = 0; k < m; k++) // идем по строке и умножаем элемент строки на -элемент следующей
строки и складываем с элементом следующей строки

array[j][k] -= temp * array[i][k];

//вывод преобразованной матрицы

printf("\nNovaya matrita:\n");

for (i = 0; i < n; i++)

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

if (array[i][j] == 0)

array[i][j] = abs(array[i][j]);

printf("%10.2f ", array[i][j]);

else

printf("%10.2f ", array[i][j]);

printf("\n");

getch();

return 0;
}

Вывод:
В данной лабораторной работе я научился работать с
двумерными массивами, с помощью допустимых
преобразований приводил систему к треугольному
виду.
Находил количество строк, среднее арифметическое
элементов которых было меньше заданной
величины.