Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
code_full.doc
Скачиваний:
3
Добавлен:
28.07.2019
Размер:
118.78 Кб
Скачать

Умножение матрицы на вектор и ее транспонирование

using System;

namespace lab01

{

class Program

{

int[,] Array, TransArray;

int[] Vector, MultVector;

// инициализация массивов

public Program(int i, int j)

{

Array = new int[i, j];

TransArray = new int[j, i];

Vector = new int[j];

MultVector = new int[i];

}

// заполнение массива случайными числами

public void InputData()

{

Random Num = new Random();

for (int i = 0; i <= Array.GetUpperBound(0); i++)

for (int j = 0; j <= Array.GetUpperBound(1); j++)

{

Vector[j] = Num.Next(1, 10);

Array[i, j] = Num.Next(1, 10);

}

}

// вывод значений одномерного массива с индексами

public void Output(int[] Arr, string name)

{

Console.WriteLine("Массив {0}", name);

for (int i = 0; i < Arr.Length; i++)

Console.Write("{0}[{1}]={2}\t", name, i, Arr[i]);

Console.WriteLine();

}

// вывод значений двумерного массива с индексами

public void Output(int[,] Arr, string name)

{

Console.WriteLine("Массив {0}", name);

for (int i = 0; i <= Arr.GetUpperBound(0); i++)

{

for (int j = 0; j <= Arr.GetUpperBound(1); j++)

Console.Write("{0}[{1},{2}]={3}\t", name, i, j, Arr[i, j]);

Console.WriteLine();

}

}

// умножение массива Array на вектор Vector с помещением результата в массив MultVector

public void Multiply()

{

for (int i = 0; i <= Array.GetUpperBound(0); i++)

for (int j = 0; j <= Array.GetUpperBound(1); j++)

MultVector[i] += Array[i, j] * Vector[j];

}

// транспонирование массива Array с помещением результата в массив TransArray

public void Transpon()

{

for (int i = 0; i <= Array.GetUpperBound(0); i++)

for (int j = 0; j <= Array.GetUpperBound(1); j++)

TransArray[j, i] = Array[i, j];

}

static void Main()

{

// указать размеры массива согласно сврего варианта

Program obj = new Program(6, 4);

obj.InputData();

obj.Output(obj.Vector, "Vector");

obj.Output(obj.Array, "Array");

obj.Multiply();

obj.Output(obj.MultVector, "Mult");

obj.Transpon();

obj.Output(obj.TransArray, "Trans");

Console.ReadLine();

}

}

}

Спецом для скс-11!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]