Структуры данных, матрицы - C#
Формулировка задачи:
Дана прямоугольная матрица размера m х n. Разработать алгоритмы (реализовать их отдельными методами) нахождения суммы, разницы и произведения двух прямоугольных матриц. Реализовать метод для обработки строк матрицы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace l6
{
class MainClass
{
public static void init(ref int[] matrix, int n)
{
double max = matrix[0];
int mul = 0;
for (int i = 0; i < n; i++)
{
Console.Write("Элемент [{0}] ", i);
matrix[i] = Convert.ToInt32(Console.ReadLine());
if (matrix[i] < 0)
{
mul++;
}
}
Console.Write("Количество отрицательных элементов в массиве равно: {0}", mul);
Console.WriteLine(" ");
}
static void Main(string[] args)
{
int[] matrix1;
int n;
Console.WriteLine("Программа вычисляет количество отрицательных элементов в массиве: ");
Console.Write("Введите кол-во элементов в массиве: ");
n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите элементы массива: ");
matrix1 = new int[n];
init(ref matrix1, n);
Console.ReadLine();
}
}
}Решение задачи: «Структуры данных, матрицы»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MathConsole
{
public int addition(int e, int g)
{
int y;
y = e + g;
return y;
}
public int subtraction(int e, int g)
{
int y;
y = e - g;
return y;
}
public string selectTheAction(string st)
{
//Console.Write("Выбранно :" + st);
return st;
}
}
class Program
{
static void Main(string[] args)
{
MathConsole mC;
short l = 10; //l - колво строк (кол-во столбцов)
short c = 10;
short r = 10;
int[,] m = new int[l, l];
int[,] m1 = new int[c, c];
int[,] result = new int[r, r];
Random a = new Random();
for ( int i = 0; i < l; i++)
{
for (int j = 0; j < l; j++)
{
m[i, j] = a.Next(10, 21);
Console.Write(/*" \t" +*/" " + m[i, j]);
}
Console.WriteLine();
}
Console.WriteLine();
for (int t = 0; t < c; t++)
{
for (int k = 0; k < c; k++)
{
m1[t, k] = a.Next(10, 21);
Console.Write(/*" \t" +*/" " + m1[t, k]);
}
Console.WriteLine();
}
Console.Write("Введите знак операции с элементами матриц m и m1:");
mC = new MathConsole();//создаём объект класса
string z = mC.selectTheAction(Console.ReadLine());
if (z == "+")
{
for (int e = 0; e < r; e++)
{
for (int n = 0; n < r; n++)
{
result[e, n] = mC.addition(m[e, n], m1[e, n]);
Console.Write(/*" \t" +*/" " + result[e, n]);
}
Console.WriteLine();
}
}
Console.ReadKey();
}
}
}