C # osztály mátrix (összeadás, kivonás, szorzás mátrixok) - Blog Alexandra tumovskogo

Ez az osztály lehetővé teszi bizonyos műveletek mátrixok:

  1. Hozzáadása az A mátrix a B mátrix
  2. Kivonás B mátrix A mátrix
  3. A szorzás A mátrix mátrix B
  4. Szorzás számának A mátrix
  5. Ellenőrizze az A mátrix az egység
  6. Végrehajtása neksolkih mátrix műveletek ugyanabban az időben, amely egy D mátrix

Azt is biztosítja a kezelő túlterhelés és a rejtett mezők sobludeniya beágyazás.

A programozási nyelv C #

using System;
using System. Gyűjtemények. Generic;
using System. LINQ;
using System. szöveg;
using System. Threading. feladatok;

névtér ConsoleApplication1
<
osztály Matrix
<
// Rejtett Fields
magán int n;
privát int [. ] Tömegspektrum;

// Set accessors dolgozni ki a Mátrix osztályú területeken
nyilvános Mátrix (int n)
<
ezt. n = n;
tömeg = new int [e. n. ezt. n];
>
public int a [int i. int j]
<
kap
<
vissza tömeg [i. j];
>
készlet
<
tömeg [i. j] = érték;
>
>

// Írja be a mátrix billentyűzet
public void WriteMat ()
<
A (int i = 0; i <
A (int j = 0; j <
Konzol. WriteLine nevû ( „Enter a mátrix eleme <0>. <1> . „I + 1. j + 1);
tömeg [i. j] = Átalakítás. ToInt32 (. Konzol ReadLine ());
>
>
>

// megjeleníti a mátrix billentyűzet
public void ReadMat ()
<
A (int i = 0; i <
A (int j = 0; j <
Konzol. Írása (tömeg [i j.] + "\ T");
>
Konzol. WriteLine nevû ();
>
>


// Ellenőrizzük, hogy a mátrix az egység
public void oneMat (Matrix a)<
int count = 0;
A (int i = 0; i <
A (int j = 0; j <
ha (a [i. j] == 1 i == j)
<
számolni ++;
>
>

>
ha (számít == a. N)
<
Konzol. WriteLine nevû ( "Unit");
>
mást konzol. WriteLine nevû ( "senki");
>


// Szorozzuk száma A
public static Matrix umnch (mátrix. int ch)
<
Mátrix resMass = új mátrix (a N.);
A (int i = 0; i <
A (int j = 0; j <
resMass [i. j] = a [i. j] * CH;
>
>
visszatérés resMass;
>

// Szorzás mátrix mátrix B
public static Matrix UMN (mátrix. Mátrix b)
<
Mátrix resMass = új mátrix (a N.);
A (int i = 0; i A (int j = 0; j A (int k = 0; k resMass [i. j] + = a [i. k] * b [k. j];

// túlterhelt szorzás művelet
public static Matrix üzemben * (mátrix. Mátrix b)
<
visszatér Matrix. UMN (a b.);
>

public static Matrix üzemben * (mátrix. int b)
<
visszatér Matrix. umnch (a b.);
>


// módszer kivonás B mátrix A mátrix
public static Matrix razn (mátrix. Mátrix b)
<
Mátrix resMass = új mátrix (a N.);
A (int i = 0; i <
A (int j = 0; j <
resMass [i. j] = a [i. j] - b [i. j];
>
>
visszatérés resMass;
>

// Overload kivonás operátor
public static Matrix operátor - (mátrix Matrix b.)
<
visszatér Matrix. razn (a b.);
>
public static Matrix Sum (mátrix. Mátrix b)
<
Mátrix resMass = új mátrix (a N.);
A (int i = 0; i <
A (int j = 0; j <
resMass [i. j] = a [i. j] + b [i. j];
>
>
visszatérés resMass;
>
// hozzátéve Overload
public static Matrix operátor + (mátrix. Mátrix b)
<
visszatér Matrix. Sum (a b.);
>
// Destructor Matrix

Matrix ()
<
Konzol. WriteLine nevû ( "Tiszta");
>

static void Main (string [] args)
<
Konzol. WriteLine nevû ( "Enter dimenziója a mátrix.");
int nn = Convert. ToInt32 (. Konzol ReadLine ());
// inicializálása
Mátrix mass1 = új Mátrix (nn);
Mátrix mass2 = új Mátrix (nn);
Mátrix mass3 = új Mátrix (nn);
Mátrix mass4 = új Mátrix (nn);
Mátrix mass5 = új Mátrix (nn);
Mátrix mass6 = új Mátrix (nn);
Mátrix mass7 = új Mátrix (nn);
Mátrix mass8 = új Mátrix (nn);
Konzol. WriteLine nevû ( "input mátrix");
mass1. WriteMat ();
Konzol. WriteLine nevû ( "Adja meg a Matrix B.");
mass2. WriteMat ();

Konzol. WriteLine nevû ( "A mátrix");
mass1. ReadMat ();
Konzol. WriteLine nevû ();
Konzol. WriteLine nevû ( "Mátrix V.");
Konzol. WriteLine nevû ();
mass2. ReadMat ();

Konzol. WriteLine nevû ( „mátrixok összeadása A és B”);
mass4 = (mass1 + mass2);
mass4. ReadMat ();

Konzol. WriteLine nevû ( "Kivonás mátrixok A és B");
mass6 = (mass1 - mass2);
mass6. ReadMat ();

Konzol. WriteLine nevû ( „Szorzás mátrixok A és B”);
mass8 = (mass1 * mass2);
mass8. ReadMat ();

Konzol. WriteLine nevû ( „Szorozzuk száma A 2„);
mass5 = (mass1 * 2);
mass5. ReadMat ();

Konzol. WriteLine nevû ( "D mátrix az alábbi képlet szerint D = 3AB + (A - B) A.");
mass7 = ((mass1 * 3) * mass2 + (mass1 - mass2) * mass1);
mass7. ReadMat ();