Логотип Автор24реферат
Задать вопрос
%
уникальность
не проверялась
Контрольная работа на тему:

Если максимальный элемент матрицы A лежит на главной диагонали

уникальность
не проверялась
Аа
2167 символов
Категория
Программирование
Контрольная работа
Если максимальный элемент матрицы A лежит на главной диагонали .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

Если максимальный элемент матрицы A лежит на главной диагонали, присвоить начальным элементам последовательности C1, C2, …, C25 значения элементов матрицы, лежащих выше главной диагонали, а остальным элементам этой последовательности – значения прочих элементов матрицы.

Нужно полное решение этой работы?

Решение

Потяни, чтобы посмотреть
Using System;
public class Program
{
// метод получения максимального элемента
static double max(double [,] A, int n)
{
// находим максимум в матрице
double m = A[0,0];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (A[i,j] > m)
{
m = A[i,j];
}
}
}
return m;
}
// метод, определяющий, лежит ли максимальный элемент на главной диагонали
static bool max_on_diag(double [,] A, int n)
{
double m = max(A, n); // находим максимум
for (int i = 0; i < n; i++)
{
// проходим диагональ
// если элемент на ней, возвращаем true
if (A[i,i] == m)
return true;
}
return false;
}
// получение последовательности C
static void getC(double[, ] A, int n, double[] C)
{
int k = 0; // индекс в C
// проходим по элементам выше диагонали
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
C[k++] = A[i, j];
}
}
// проходим по элементам ниже и на диагонали
for (int i = 0; i < n; i++)
{
for (int j = 0; j <= i; j++)
{
C[k++] = A[i, j];
}
}
}
// ввод матрицы
static void input(double[, ] A, int n)
{
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
A[i, j] = Convert.ToDouble(Console.ReadLine());
}
}
}
// вывод матрицы на экран
static void print(double[, ] A, int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("{0,8:f}", A[i, j]);
}
Console.WriteLine();
}
}
public static void Main()
{
// ввод исходных данных
double[, ] A = new double[5,5];
Console.WriteLine("Введите матрицу");
input(A, 5);
// вывод исходных данных
Console.WriteLine("Введена матрица");
print(A, 5);
// обработка и вывод результата
if (max_on_diag(A, 5))
{
// получаем C
double[] C = new double[25];
getC(A, 5, C);
// вывод результата
Console.WriteLine("Получена последовательность");
for (int i = 0; i < 25; i++)
{
Console.WriteLine("{0}", C[i]);
}
}
else
Console.WriteLine("Максимальный элемент матрицы не лежит на главной диагонали");
}
}
50% задачи недоступно для прочтения
Переходи в Кампус, регистрируйся и получай полное решение
Получить задачу
Больше контрольных работ по программированию:
Все Контрольные работы по программированию
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты