ogofman
?>

Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“ в программе показать пример в c#(си шарп)

Информатика

Ответы

h777eta
Using System;
using System.Collections.Generic;

public class Matrix
{
    private double[,] Data;
    public double this[int i, int j]
    {
        get { return Data[i, j]; }
        set { Data[i, j] = value; }
    }

    public Matrix(double[,] data) { this.Data = data; }

    public override string ToString()
    {
        var sb = new System.Text.StringBuilder();
        for (var i = Data.GetLowerBound(0); i <= Data.GetUpperBound(0); i++)
        {
            for (var j = Data.GetLowerBound(1); j <= Data.GetUpperBound(1); j++)
            {
                sb.AppendFormat("{0} ", Data[i, j]);
            }
            sb.AppendLine();
        }

        return sb.ToString();
    }

    public int GetUpperBound(int i) => this.Data.GetUpperBound(i);

    public static Matrix operator -(Matrix a, Matrix b)
    {
        var c = new double[1 + Math.Min(a.GetUpperBound(0), b.GetUpperBound(0)), 1 + Math.Min(a.GetUpperBound(1), b.GetUpperBound(1))];
        for (var i = 0; i <= c.GetUpperBound(0); i++)
        {
            for (var j = 0; j <= c.GetUpperBound(1); j++)
            {
                c[i, j] = a[i, j] - b[i, j];
            }
        };
        return new Matrix(c);
    }
}

class Program
{
    static void Main()
    {
        var n = 5;
        var a = new Matrix(new double[n, n]);
        var b = new Matrix(new double[n, n]);

        for (var i = 0; i < n; i++)
        {
            for (var j = 0; j < n; j++)
            {
                a[i, j] = i + j;
                b[i, j] = i;
            }
        }

        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(a - b);
        Console.ReadKey();

    }
}
Isaeva_Marin1010
Программа:
a = input("Введите текущую координату фигуры(вертикаль): ")
b = input("Введите текущую координату фигуры(горизонталь): ")
c = input("Введите координату для хода(вертикаль): ")
d = input("Введите координату для хода(горизонталь): ")
# Условие
if (a==c) and (b==c):
#Конец условия
     print("Фигура может сделать ход")
else:
     print("Фигура НЕ может сделать ход")
Условия:
а) if (a==c) and (b==c): #ладья
б) if abs(a-c) == abs(b-d): #слон
в) if abs(a-c)==1 or abs(b-d)==1: #король
г) if abs(a-c) == abs(b-d) or a == c or b == d: #ферзь
ж) if((abs(abs(a-c)-2)<0.5) and (abs(abs(b-d)-1)<0.5)
        or (abs(abs(a-c)-1)<0.5) and (abs(abs(b-d)-2.0)<0.5)): #конь
polusik120796
Алгоритм сортировки строки массива по возрастанию методом прямого выбора может быть представлен так:
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.

Решение:

//Pascal
const
  n = 7;

var
  a: array[1..n, 1..n] of integer;
  i, j, min, ind: integer;

//Заполнение массива сл. числами и вывод на экран
begin
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(100);
      write(a[i, j]:4);
    end;
    writeln;
  end;
 
  //Сортировка строки матрицы прямым выбором
 
  for i := 1 to n - 1 do
  begin
    min := a[4, i];
    ind := i;
    for j := i + 1 to n do
      if a[4, j] < min then
      begin
        min := a[4, j];
        ind := j;
      end;
    a[4, ind] := a[4, i];
    a[4, i] := min;
  end;
  writeln;
 
    //вывод отсортированной строки
  for j := 1 to n do
  begin
    write(a[4, j]:4);
  end;
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“ в программе показать пример в c#(си шарп)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

elena-ppk
Ohokio198336
k-alexey9
Глазкова633
MikhailovichKrizhnaya578
avdeevana
iservice38
betepah
Aleks0091
alzheleshikov
starh
rodsher7740
Vs1377
Бочкарева Горохова1652
lubavarif83