powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возвращение неправильных значений
17 сообщений из 17, страница 1 из 1
Возвращение неправильных значений
    #39102127
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день Написал программу для умножения двух матриц. Но к сожалению метод возвращает мне нули. А на самом деле не должна.

Помогите пожалуйста новичку

вот сама программа

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;
}
}
}
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980Помогите пожалуйста новичку Как мне оформить свое сообщение?
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102142
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980метод возвращает мне нулиНеудивительно. Если умножать ноль на ноль, то получится ноль, как ни крути
Код: c#
1.
              s = s + resul_1.mas[i, l] * resul_1.mas[l, j];
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102148
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но веть я задаю значения матрице как там могут быть нули
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102153
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
веть параметрам задаются значения элементов матриц
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102194
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980я задаю значения матриценет, попробуй найти то место, где ты задаешь значения матрице resul_1
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102206
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я исправил но сейчас получил не верные результаты
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102221
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980не верные результатыэто удручает, надо продолжить работу над ошибками
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102283
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хотел было подсказать, где ошибка, но увидел неоформленный текст программы, и расстроился
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более, это не окончательный текст, фиг его знает, что и на что он там исправил
Aleksandr1980Да я исправилк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...), лезть и изучать вопрос нет никакого желания, в общем ждем инициативы автора
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102396
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нафига всё это г. если в Framework'е уже есть методы для работы с матрицами?
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102520
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesнафига всё это г. если в Framework'е уже есть методы для работы с матрицами?
Студентов заставляют делать именно так. Чтобы знали.
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102556
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

вот отправляю исправленную программу


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];
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102611
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...),
таблицу умножения - тоже забыл?
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102691
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилтаблицу умножения - тоже забыл?Таблица умножения нужна повседневно - не забыл. Умножение матриц как-то редко применяется в жизни, настолько редко, что последний раз применял, когда, собственно, контрольную писал на эту тему ))

Aleksandr1980, 18407807
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102788
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилShocker.Proк тому же, я лично не помню правила умножения матриц (там как-то столбцами и строками перемножается...),
таблицу умножения - тоже забыл?
А про свёртку тензоров и говорить не стоит...
Кошмар!
...
Рейтинг: 0 / 0
Возвращение неправильных значений
    #39102843
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProИзопропилтаблицу умножения - тоже забыл?Таблица умножения нужна повседневно - не забыл. Умножение матриц как-то редко применяется в жизни, настолько редко, что последний раз применял, когда, собственно, контрольную писал на эту тему ))

Aleksandr1980, 18407807
матричные вычисления нужны в 3D графике, трансформации, преобразование есть к примеру в WPF, ты же используешь WPF? значит должен понимать механику их работы и знать, как перемножать матрицы, тем более, что это не так уж и сложно :)
когда я учился, на занятиях по комп. графике нас заставляли делать это в уме и на бумажке :)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возвращение неправильных значений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]