Умножение матриц на C# -- пример программы
Primary tabs
Forums:
умножение матриц произвольной размерности. работает. результат выглядит правдоподобно.
код:
//static double umn(double[,] arr1, double[,] arr2, int a1, int b1, int b2) static void umn(double[,] arr1, double[,] arr2, int a1, int b1, int b2) { double[,] Mass = new double[a1, b2];//[1, 7]; // массив для записи результата проецирования double sum = 0; for (int i = 0; i < a1; i++) // умножение { for (int j = 0; j < b2; j++) { for (int r = 0; r < b1; r++) { sum = sum + arr1[i, r] * arr2[r, j]; } Mass[i, j] = sum; sum = 0; } } /**/ for (int i = 0; i < a1; i++) { for (int j = 0; j < b2; j++) { Console.WriteLine(Mass[i, j]); } }/**/ //return Mass[a1, b2]; }///////////////////////////////////////////////////////////// static void Main(string[] args) { int a = 3, b = 2, c = 2; double [,] mass1 = new double[a,b]; double [,] mass2 = new double[b,c]; double [,] mass3 = new double[a,c]; for (int i = 0; i < a; i++) // заполнение { for (int j = 0; j < b; j++) { mass1[i, j] = i + 1 + j; Console.WriteLine(mass1[i, j]); } } Console.WriteLine(); for (int i = 0; i < b; i++) // заполнение { for (int j = 0; j < c; j++) { mass2[i, j] = i + 1 + j; Console.WriteLine(mass2[i, j]); } } Console.WriteLine(); //mass3[a, c] = umn(mass1, mass2, a, b, c); umn(mass1, mass2, a, b, c); }
/
проблема
никак не могу разобраться, как вернуть из функции массив.
любой помощи по этому вопросу буду рад
- Log in to post comments
- 12780 reads
vedro-compota
Wed, 01/15/2014 - 15:40
Permalink
Масссив возращается по общим
Масссив "возращается" по общим правилам описания сигнатуры функции.
Пример: http://fkn.ktu10.com/?q=node/5593
_____________
матфак вгу и остальная классика =)