Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 20
1

Умножение матриц (перевести код из Pascal в C#)

16.05.2014, 10:38. Показов 6122. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
будьте добры решите задачу!

Задача:

Три продавца продают четыре вида товаров. Количество продаваемого товара сведено в таблицу A.
Алгоритм решения задачи:

В таблице B представлены цена каждого товара и комиссионные (наценка), получаемые от продажи.
Умножение матриц (перевести код из Pascal в C#)


Вырученные от продажи деньги подсчитываются так:
1-й продавец: 5 * 20.30 + 3 * 18.60 + 7 * 12.10 + 0 * 23.00 = 242.00
2-й продавец: 7 * 20.30 + 1 * 18.60 + 9 * 12.10 + 2 * 23.00 = 315.60
3-й продавец: 3 * 20.30 + 4 * 18.60 + 7 * 12.10 + 6 * 23.00 = 358.00

А полученные комиссионные так:
1-й продавец: 5 * 1.60 + 3 * 1.30 + 7 * 1.00 + 0 * 1.80 = 18.90
2-й продавец: 7 * 1.60 + 1 * 1.30 + 9 * 1.00 + 2 * 1.80 = 25.10
3-й продавец: 3 * 1.60 + 4 * 1.30 + 7 * 1.00 + 6 * 1.80 = 27.80

Эти вычисления называются умножением матриц и записываются так, как представлено на рисунке выше.
Число столбцов таблицы A должно совпадать с числом строк таблицы B. Результирующая таблица C имеет столько строк, сколько у A, и столько столбцов, сколько у B.

Следующая программа вводит матрицы A и B, перемножает эти матрицы и затем печатает их произведение – матрицу C:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 atype = array[1..3,1..4] of integer;
    btype = array[1..4,1..2] of real;
    ctype = array[1..3,1..2] of real;
 
var
    a: atype; b: btype; c: ctype;
    n,i,j,k: integer;
 
begin
    for n := 1 to 3 do
        readln(a[n,1],a[n,2],a[n,3],a[n,4]);
 
    for n := 1 to 4 do
        readln(b[n,1],b[n,2]);
 
    for i := 1 to 3 do
        for j := 1 to 2 do begin
            c[i,j] := 0;
            for k := 1 to 4 do
                c[i,j] := c[i,j] + a[i,k] * b[k,j];
        end;
 
    for n := 1 to 3 do
        writeln(c[n,1]:8:2, c[n,2]:8:2);
 
readln
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2014, 10:38
Ответы с готовыми решениями:

Умножение матриц pascal
Помогите сделать вот это см. вложение У меня получается вот так Program Lab5; uses crt; var...

Умножение матриц - Pascal ABC
Найти с=A*B A:=((4,8), (3,9), (2,5)); B:=((11,22,16), (9,15,8));

Нужно перевести код из Turbo Pascal в Pascal ABC.NET
Доброго времени суток. На форуме находил похожие темы, но к сожалению так и не смог разобраться....

Нужно перевести код с Pascal ABC на Turbo Pascal - рисование работающей мельницы
Вот код, он должен рисовать работающею мельницу. uses graphABC,crt; type point=record ...

1
29 / 29 / 8
Регистрация: 16.10.2012
Сообщений: 170
17.05.2014, 09:38 2
Лучший ответ Сообщение было отмечено Diman_Leo как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public float[,] Mult(float[,] X, float[,] C) // умножаем матрицы
        {
            float[,] Matrix = new float[8,4];
 
            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    for (int k = 0; k < 4; k++)
                    {
                        Matrix[i, j] += X[i, k] * C[k, j];
                    }
                }
            }
            return Matrix;
        }
как вывести матрицу на экран можешь посмотреть в FAQ

входные матрицы были 8х4 и 4х4
1
17.05.2014, 09:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2014, 09:38
Помогаю со студенческими работами здесь

Умножение НЕквадратных матриц (не работает код)
1) делал умножение матриц, где число строк и столбцов одинаковое кол-во, работает, но только с...

Нужно перевести код из Turbo Pascal в Pascal ABC
Program n5; { Задача. Описать функцию less(f) от непустого файла f ...

Перевести в код Pascal ABC из кода Pascal Delphi
procedure TForm1.Button1Click(Sender: TObject); const n=8; var x:array of real; y,z:array of...

Перевести в код Pascal ABC из кода Pascal Delphi
Помогите перевести в код ABC а то с Delphi вообще не знаком. Задание было такое: Записать в файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru