|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Добрый день Написал программу для умножения двух матриц. Но к сожалению метод возвращает мне нули. А на самом деле не должна. Помогите пожалуйста новичку вот сама программа class Program { static void Main(string[] args) { Math mathe = new Math(); int first, second; Console.Write("Pervoye cislo ravno: "); first = int.Parse(Console.ReadLine()); Console.Write("Vtoroye cislo ravno: "); second = int.Parse(Console.ReadLine()); Matrix m1 = new Matrix(); Matrix m2 = new Matrix(); for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m1.Mass[{0},{1}]=", i, j); m1.mas[i, j] = int.Parse(Console.ReadLine()); } for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m2.Mass[{0},{1}]=", i, j); m2.mas[i, j] = int.Parse(Console.ReadLine()); } Console.ReadLine(); Console.WriteLine("Summa dvux cisel sostavlyayet {0} ", mathe.Sum(first,second)); Console.WriteLine("\n Proizvedeniye dvux matric sostavlyayet "); Matrix result_2 = mathe.Sum(m1, m2); for (int i=0; i<2; i++) for (int j = 0; j < 2; j++) { Console.WriteLine("result[{0}, {1}]={2}", i, j, result_2.mas[i, j]); } Console.ReadLine(); } } class Matrix { public int[,] mas = new int[2, 2]; } class Math { public int s=0; public int Sum(int first, int second) { return first + second; } public Matrix Sum(Matrix first, Matrix second) { Matrix resul_1 = new Matrix(); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { for (int l = 0; l < 2; l++) { s = s + resul_1.mas[i, l] * resul_1.mas[l, j]; } resul_1.mas[i, j] = s; } } return resul_1; } } } ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 17:31 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Aleksandr1980Помогите пожалуйста новичку Как мне оформить свое сообщение? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 17:33 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Aleksandr1980метод возвращает мне нулиНеудивительно. Если умножать ноль на ноль, то получится ноль, как ни крути Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 17:40 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Но веть я задаю значения матрице как там могут быть нули ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 17:42 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
веть параметрам задаются значения элементов матриц ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 17:46 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Aleksandr1980я задаю значения матриценет, попробуй найти то место, где ты задаешь значения матрице resul_1 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 18:02 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Да я исправил но сейчас получил не верные результаты ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 18:07 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Aleksandr1980не верные результатыэто удручает, надо продолжить работу над ошибками ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 18:15 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Я хотел было подсказать, где ошибка, но увидел неоформленный текст программы, и расстроился ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 19:20 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Тем более, это не окончательный текст, фиг его знает, что и на что он там исправил Aleksandr1980Да я исправилк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...), лезть и изучать вопрос нет никакого желания, в общем ждем инициативы автора ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 19:38 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
нафига всё это г. если в Framework'е уже есть методы для работы с матрицами? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2015, 21:46 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Roman Mejtesнафига всё это г. если в Framework'е уже есть методы для работы с матрицами? Студентов заставляют делать именно так. Чтобы знали. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 03:13 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Добрый день. вот отправляю исправленную программу class Program { static void Main(string[] args) { Math mathe = new Math(); int first, second; Console.Write("Pervoye cislo ravno: "); first = int.Parse(Console.ReadLine()); Console.Write("Vtoroye cislo ravno: "); second = int.Parse(Console.ReadLine()); Matrix m1 = new Matrix(); Matrix m2 = new Matrix(); for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m1.Mass[{0},{1}]=", i, j); m1.mas[i, j] = int.Parse(Console.ReadLine()); } for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m2.Mass[{0},{1}]=", i, j); m2.mas[i, j] = int.Parse(Console.ReadLine()); } Console.ReadLine(); Console.WriteLine("Summa dvux cisel sostavlyayet {0} ", mathe.Sum(first,second)); Console.WriteLine("\n Proizvedeniye dvux matric sostavlyayet "); Matrix result_2 = mathe.Sum(m1, m2); for (int i=0; i<2; i++) for (int j = 0; j < 2; j++) { Console.WriteLine("result[{0}, {1}]={2}", i, j, result_2.mas[i, j]); } Console.ReadLine(); } } class Matrix { public int[,] mas = new int[2, 2]; } class Math { public int s; public int Sum(int first, int second) { return first + second; } public Matrix Sum(Matrix first, Matrix second) { Matrix resul_1 = new Matrix(); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { s = 0; for (int l = 0; l < 2; l++) { s = s + first.mas[i, l] * second.mas[l, j]; } resul_1.mas[i, j] = s; } } return resul_1; } } } s надо было обнулить перед циклом l и выражение исправил надо было писать так first.mas[i, l] * second.mas[l, j]; ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 08:04 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Shocker.Proк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...), таблицу умножения - тоже забыл? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 09:24 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Изопропилтаблицу умножения - тоже забыл?Таблица умножения нужна повседневно - не забыл. Умножение матриц как-то редко применяется в жизни, настолько редко, что последний раз применял, когда, собственно, контрольную писал на эту тему )) Aleksandr1980, 18407807 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 10:40 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
ИзопропилShocker.Proк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...), таблицу умножения - тоже забыл? А про свёртку тензоров и говорить не стоит... Кошмар! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 12:05 |
|
Возвращение неправильных значений
|
|||
---|---|---|---|
#18+
Shocker.ProИзопропилтаблицу умножения - тоже забыл?Таблица умножения нужна повседневно - не забыл. Умножение матриц как-то редко применяется в жизни, настолько редко, что последний раз применял, когда, собственно, контрольную писал на эту тему )) Aleksandr1980, 18407807 матричные вычисления нужны в 3D графике, трансформации, преобразование есть к примеру в WPF, ты же используешь WPF? значит должен понимать механику их работы и знать, как перемножать матрицы, тем более, что это не так уж и сложно :) когда я учился, на занятиях по комп. графике нас заставляли делать это в уме и на бумажке :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2015, 12:58 |
|
|
start [/forum/topic.php?fid=20&fpage=73&tid=1401057]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 156ms |
0 / 0 |