ВУЗ:
Составители:
Рубрика:
81
максимальных элементов.
Задача 3. Найти произведение двух матриц размеров
mn
и
kt
.
По правилам перемножения матриц количество столбцов первой
матрицы должно совпадать с количеством строк второй матрицы. Поэтому
сначала требуется проверить это условие.
Если размеры были введены корректно, осуществляется перемножение.
Каждый элемент матрицы-результата вычисляется как скалярное
произведение соответствующей строки первой матрицы на столбец второй
матрицы. Поэтому при решении задачи создается три цикла: первые два
перебирают элементы результирующей матрицы, а третий используется для
вычисления самого элемента.
Блок-схема представлена на Рис.6.7.
Код программы для задачи 3.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
int m,n,k,t;
Console.Write("Введите количество строк первой матрицы m:");
int.TryParse(Console.ReadLine(),out m);
Console.Write("Введите количество столбцов первой матрицы n:");
int.TryParse(Console.ReadLine(),out n);
Console.Write("Введите количество строк второй матрицы k:");
int.TryParse(Console.ReadLine(),out k);
Console.Write("Введите количество столбцов второй матрицы t:");
int.TryParse(Console.ReadLine(),out t);
if(m<=0 || n<=0 || k<=0 || t<=0)
{
Console.WriteLine("Введите положительные размеры");
return;
}
if(n!=k)
{
Console.WriteLine("n должно быть равно k");
return;
}
int [,] a = new int [m, n];
int [,] b = new int [k, t];
int [,] c = new int [m, t];
if(a == null || b == null || c == null)
{
Console.WriteLine("Запрошено большое количество памяти.\n
Попробуйте ввести меньший размер.");
return;
максимальных элементов.
Задача 3. Найти произведение двух матриц размеров m n и k t .
По правилам перемножения матриц количество столбцов первой
матрицы должно совпадать с количеством строк второй матрицы. Поэтому
сначала требуется проверить это условие.
Если размеры были введены корректно, осуществляется перемножение.
Каждый элемент матрицы-результата вычисляется как скалярное
произведение соответствующей строки первой матрицы на столбец второй
матрицы. Поэтому при решении задачи создается три цикла: первые два
перебирают элементы результирующей матрицы, а третий используется для
вычисления самого элемента.
Блок-схема представлена на Рис.6.7.
Код программы для задачи 3.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
int m,n,k,t;
Console.Write("Введите количество строк первой матрицы m:");
int.TryParse(Console.ReadLine(),out m);
Console.Write("Введите количество столбцов первой матрицы n:");
int.TryParse(Console.ReadLine(),out n);
Console.Write("Введите количество строк второй матрицы k:");
int.TryParse(Console.ReadLine(),out k);
Console.Write("Введите количество столбцов второй матрицы t:");
int.TryParse(Console.ReadLine(),out t);
if(m<=0 || n<=0 || k<=0 || t<=0)
{
Console.WriteLine("Введите положительные размеры");
return;
}
if(n!=k)
{
Console.WriteLine("n должно быть равно k");
return;
}
int [,] a = new int [m, n];
int [,] b = new int [k, t];
int [,] c = new int [m, t];
if(a == null || b == null || c == null)
{
Console.WriteLine("Запрошено большое количество памяти.\n
Попробуйте ввести меньший размер.");
return;
81
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
