Решение задач по математике | Составить программу формирования двумерных динамических массивов–матриц | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Составить программу формирования двумерных динамических массивов–матриц


Отчет

по заданию №2 контрольной работы

по программированию на языке c#

Задание

Составить программу формирования двумерных динамических массивов–матриц А и B размерностью m x n . Размерность массивов–матриц А и B (m = 8, n = 8) ввести с клавиатуры. Значения элементов массивов–матриц и определяются c помощью выражений:

,,

где и оформить в виде функций в соответствии с выражениями:

при

при

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

Сформировать массив–матрицу G, на основе массива–матрицы А, поменяв в нем местами соответствующие элементы столбцов, расположенных на главной и побочной диагоналях.

Определить сумму элементов, лежащих на главной диагонали массива–матрицы G в пользовательской функции. Вывести на экран полученные массивы в виде матриц и результат вычисления суммы.

Исходный код

using System;

using System. Collections. Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

//Функция f1(i, j)

static double f1(int i, int j)

{

return 1.0 * (4 * i * j + 2) / (3 * i + j + 1) — i;

}

//Функция f2(i, j)

static double f2(int i, int j)

{

return i + 3 * f1(i, j);

}

//Функция вывода матрицы A с именем Name размерности m на n на экран

static void print(char Name, double[,] A, int m, int n)

{

Console. WriteLine("nМатрица {0}:", Name);

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

{

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

Console. Write("{0,8}", Math. Round(A[i, j], 3));

Console. Write("n");

}

}

//Функция вычисления суммы элементов гл. диагонали

static double getSum(double[,] A, int m, int n)

{

int k = m < n? m : n;

double sum = 0;

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

sum += A[i, i];

return sum;

}

//Основная функия

static void Main(string[] args)

{

int m, n;

//Ввод размерностей матриц

Console. Clear();

Console. Write("Введите количество строк массивов: ");

m = Convert. ToInt32(Console. ReadLine());

Console. Write("Введите количество столбцов массивов: ");

n = Convert. ToInt32(Console. ReadLine());

double[,] A = new double[m, n];

double[,] B = new double[m, n];

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

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

A[i, j] = f1(i, j);

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

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

B[i, j] = f2(i, j);

print(‘A’, A, m, n);

print(‘B’, B, m, n);

//Вычисление матрицы C

double[,] C = new double[m, n];

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

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

C[i, j] = A[i, j] * B[i, j];

print(‘C’, C, m, n);

//Вычисление матрицы G

double[,] G = new double[m, n];

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

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

{

if ((i!= j) && (i!= n — j — 1))

G[i, j] = A[i, j];

else if (i == j)

G[i, j] = A[i, n — i — 1];

else

G[i, j] = A[i, i];

}

print(‘G’, G, m, n);

double sum = getSum(G, m, n);

Console. WriteLine("nСумма элементов, лежащих на главной диагонали матрицы G = {0}", Math. Round(sum, 3));

Console. ReadKey();

}

}

}

Скриншоты работы приложения

Заключение

В ходе выполнения работы закреплены навыки работы с двумерными массивами, функциями пользователя. Создано приложение для работы с матрицами. Тестирование показало работоспособность созданной программы

Список использованной литературы

1.  Шилдт, Герберт С# 4.0 Полное руководство. : Пер. с английского. М. – ООО «И. Д. Вильямс», 2011 – 1056 с. : ил.

2.  Уотсон, К. Visual С# 2010: полный курс.: Пер. с англ. — М.: ООО "И. Д. Вильяме", 2011. — 960 с. : ил.

3.  Троелсен, Эндрю. Язык программирования С# 2010 и платформа. NET 4.0, 5-е изд. : Пер. с англ. — М. : ООО "И. Д. Вильяме", 2011. — 1392 с. : ил.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020