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

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ


ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ «МИСИС»

Институт ЭкоТех

Кафедра

ЛАБОРАТОРНАЯ РАБОТА №1
«ЗАДАНИЯ I УРОВНЯ»

Выполнил студент
группы БТМО-22-2
Какунга Амилькар Шифука Вихемба

Принял
ст. преп. Давыденко А.А.

Москва
2022
ЦЕЛЬ РАБОТЫ:Приобрести навыки решения задач с использованием типовых
алгоритмов обработки массивов и их сочетаний.

1) Найти сумму элементов матрицы А размера 5 × 7.

int[,] a = new int[5, 7];


double sum = 0;

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


{
Console.WriteLine("Введите 7 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = int.Parse(c[j]);
sum = sum + a[i, j];
}
}
Console.WriteLine();

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


{
for (int j = 0; j < 7; j++)
{
Console.Write("{0:d} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Сумма элементов матрицы = " + sum);
2) Найти среднее среди положительных элементов
матрицы А размером 5 × 7.

double[,] a = new double[5, 7];


double sum = 0;
int count = 0;

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


{
Console.WriteLine("Введите 7 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if (a[i, j] > 0)
{
sum = sum + a[i, j];
count = count + 1;
}
}
}
Console.WriteLine();

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


{
for (int j = 0; j < 7; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Среднее значение среди положительных элементов = " + sum / count);
3) Найти след (сумму диагональных элементов) квадратной
матрицы А размера 4 × 4).

double[,] a = new double[4, 4];


double sum = 0;
int x = 0;
int y = 3;
int x1 = 0;
int y1 = 0;

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


{
Console.WriteLine("Введите 4 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if ((j == x) && (x1 == 0))
{
sum = sum + a[i, j];
x = x + 1;
x1 = x1 + 1;
}
if ((j == y) && (y1 == 0))
{
sum = sum + a[i, j];
y = y - 1;
y1 = y1 + 1;
}
}
x1 = 0;
y1 = 0;
}
Console.WriteLine();

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


{
for (int j = 0; j < 4; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("След квадратрной матрицы = " + sum);
4) Определить номер строки и столбца, содержащих минимальный
элемент матрицы А размера 3 × 6.

double[,] a = new double[3, 6];


int x = 0;
int y = 0;
double min = 100000000000;

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


{
Console.WriteLine("Введите 6 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if (a[i, j] < min)
{
min = a[i, j];
x = i + 1;
y = j + 1;
}
}
}
Console.WriteLine();

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


{
for (int j = 0; j < 6; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Минимальный элемент массива = " + min);
Console.WriteLine("Номер строки = " + x);
Console.WriteLine("Номер столбца = " + y);
5) Определить значение и номер первого отрицательного элемента
заданного столбца матрицы А размера 5 × 4.

double[,] a = new double[5, 4];


int x = 0;
int y = 0;
double min = 0;

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


{
Console.WriteLine("Введите 4 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
}
}

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


{
for (int j = 0; j < 4; j++)
{
if (a[i, j] < 0)
{
min = a[i, j];
x = i + 1;
y = j + 1;
break;
}
}
}
Console.WriteLine();

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


{
for (int j = 0; j < 4; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Первый отрицательный элемент = " + min);
Console.WriteLine("Номер строки = " + x);
Console.WriteLine("Номер столбца = " + y);
6) Сформировать одномерный массив из индексов минимальных
элементов строк матрицы А размера 4 × 7.

double[,] a = new double[4, 7];


double min = 10000000000000;
int[] b = new int[28];
int count = 0;

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


{
Console.WriteLine("Введите 7 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if (a[i, j] < min)
{
min = a[i, j];
}
}
}
Console.WriteLine();

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


{
for (int j = 0; j < 7; j++)
{
Console.Write("{0:f} ", a[i, j]);
if (a[i, j] == min)
{
b[count] = i;
count = count + 1;
}
}
Console.WriteLine();
}
Console.WriteLine("Индексы минимальных элементов массива");
for (int i = 0; i < count; i++)
{
Console.Write("{0:D} ", b[i]);
}
7) Сформировать одномерный массив из значений максимальных
элементов столбцов матрицы А размера 3 × 5.

double[,] a = new double[3, 5];


double max = -10000000000000;
double[] b = new double[15];
int count = 0;

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


{
Console.WriteLine("Введите 5 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
}
}

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


{
for (int j = 0; j < 3; j++)
{
if (a[j, i] > max)
{
max = a[j, i];
}
}
b[count] = max;
count = count + 1;
max = -10000000000000000;

}
Console.WriteLine();

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


{
for (int j = 0; j < 5; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Максимальные элементы столбцов матрицы");
for (int i = 0; i < count; i++)
{
Console.Write("{0:f} ", b[i]);
}
8) Сформировать одномерный массив из средних значений среди
положительных элементов строк матрицы А размера 4 × 6.

double[,] a = new double[4, 6];


double sum = 0;
double[] b = new double[4];
int count = 0;
int v = 0;
for (int i = 0; i < 4; i++)
{
Console.WriteLine("Введите 6 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if (a[i, j] > 0)
{
sum = sum + a[i, j];
v = v + 1;
}
}
b[count] = sum / v;
count = count + 1;
sum = 0;
v = 0;
}
Console.WriteLine();

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


{
for (int j = 0; j < 6; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Средние значения среди положительных элементов строк матрицы");
for (int i = 0; i < count; i++)
{
Console.Write("{0,4:f} ", b[i]);
}
9) Поменять местами максимальный и 1-й элементы строк
матрицы А размера 5 × 7.

double[,] a = new double[5, 7];


double max = -100000000000000;
int count = 0;

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


{
Console.WriteLine("Введите 7 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if (a[i, j] > max)
{
max = a[i, j];
count = j;
}
}
a[i, count] = a[i, 0];
a[i, 0] = max;
max = -10000000000000;
}
Console.WriteLine();

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


{
for (int j = 0; j < 7; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
10) В матрице А размера 5 × 7 поменять местами строку, содержащую
максимальный элемент в 3-м столбце, с 4-й строкой.

double[,] a = new double[5, 7];


double max = -100000000000000;
int count = 0;

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


{
Console.WriteLine("Введите 7 элементов массива, разделяя значения элементов пробелом");
string s = Console.ReadLine();
string[] c = s.Split(' ');

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


{
a[i, j] = double.Parse(c[j]);
if ((a[i, j] > max) && (j == 2))
{
max = a[i, j];
count = i;
}
}
}
for (int i = 0; i < 7; i++)
{
max = a[count, i];
a[count, i] = a[3, i];
a[3, i] = max;
}
Console.WriteLine();

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


{
for (int j = 0; j < 7; j++)
{
Console.Write("{0:f} ", a[i, j]);
}
Console.WriteLine();
}
ВЫВОД:
В ходе лабораторной работы я научился решать задачи с использованием
типовых алгоритмов обработки массивов и их сочетаний.

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