Форум программистов, компьютерный форум, киберфорум
Наши страницы

Умножение матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму первых N элементов ряда http://www.cyberforum.ru/cpp-beginners/thread53077.html
Помогите пожалуйста решить такую задачу: Вычислить сумму первых N элементов ряда:X-X^2/2+X^3/3-X^4/4+X^5/5..... . Вычисление проводить до тех пор пока модуль очередного элемента больше...
C++ Объявление функции Всем доброго времени суток! Подскажите пожалуйста, как правильно объявить функцию, которая возвращает указатель на двумерный массив. И какое именно значение будет возвращать эта функция? http://www.cyberforum.ru/cpp-beginners/thread53071.html
C++ Поменять местами первую и последнюю цифры числа
Поменять местами первую и последнюю цифры числа. Помогите пожалуйста, а то с C++ вообще никогда не приходилось работать :(
C++ Небольшая помощь
Ктото может написать небольшой модуль которий будет считивать какуюта інформацию с файла *тхт каждих 2 сек ?? спс
C++ E2089) http://www.cyberforum.ru/cpp-beginners/thread53057.html
Доброго времени суток! При компиляции выпала ошибка - Calc.cpp(237): E2089 Identifier 'use_func' cannot have a type qualifier Возникла она при попытке переделать обычный код в код, использующий...
C++ строки матрици Упорядочить строки матрицы размером М*N за увеличением минимального елемента строки. подробнее

Показать сообщение отдельно
GennDALF
12 / 12 / 0
Регистрация: 24.09.2009
Сообщений: 61

Умножение матриц - C++

28.09.2009, 18:44. Просмотров 9602. Ответов 9
Метки (Все метки)

Решенная задача на умножение матриц для сборника.
Матрицы вводятся с клавиатуры построчно.

C++
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <conio.h>
using namespace std;
 
void matrix_output(int ** MATRIX, int STRINGS, int COLUMNS);
 
int main() {
      int DIM_a = 0, DIM_b = 0, DIM_c = 0, DIM_d = 0;
      char ch;
 
      cout << "<=MATRIX\=>\n\Enter the dimension of 1st matrix: ";
      cin >> DIM_a >> DIM_b;
      cout << "Enter the dimension of 2nd matrix: ";
      cin >> DIM_c >> DIM_d;
 
      if (DIM_b != DIM_c) {
            cout << "\nMatrix product is not determind!";
            getch();
            return 0;
      }
 
      int ** mat_A = new int * [DIM_a];
      for (int i = 0; i < DIM_a; i++)
            mat_A[i] = new int [DIM_b];
 
      int ** mat_B = new int * [DIM_c];
      for (int i = 0; i < DIM_c; i++)
            mat_B[i] = new int [DIM_d];
 
      int ** mat_C = new int * [DIM_a];
      for (int i = 0; i < DIM_a; i++)
            mat_C[i] = new int [DIM_d];
 
      cout << endl;
      for (int m = 0; m < DIM_a; m++) {
            for (int n = 0; n < DIM_b; n++) {
                  cout << "a" << m+1 << "_" << n+1 << " = ";
                  cin >> mat_A[m][n]; 
            }
            cout << endl;
      }
      cout << "----------------------------------------\n\n";
      for (int m = 0; m < DIM_c; m++) {
            for (int n = 0; n < DIM_d; n++) {
                  cout << "b" << m+1 << "_" << n+1 << " = ";
                  cin >> mat_B[m][n]; 
            }
            cout << endl;
      }
      cout << "----------------------------------------\n\n";
 
 
      matrix_output(mat_A, DIM_a, DIM_b);
      matrix_output(mat_B, DIM_c, DIM_d);
 
      cout << "----------------------------------------\n\n";
 
      int prod1 = 1, prod2 = 1, summ = 0;
      for (int m = 0; m < DIM_a; m++) {
            for (int n = 0; n < DIM_d; n++) {
                  
                  summ = 0;
                  for (int c = 0; c < DIM_b; c++)
                        summ += mat_A[m][c] * mat_B[c][n];
                  mat_C[m][n] = summ;
            }
      }
 
      matrix_output(mat_C, DIM_a, DIM_d);
 
 
      for (int i = 0; i < DIM_a; i++)
            delete [] mat_A[i];
      delete [] mat_A;
 
      getch();
      return 0;
}
 
void matrix_output(int ** MATRIX, int STRINGS, int COLUMNS) {
      if (STRINGS == 1) {
            for (int c = 0; c < COLUMNS; c++)
                  cout << " " << MATRIX[0][c];
      }
      else {
            for (int c = 0; c < STRINGS; c++) {
                  if (c == 0) 
                        cout << '\x2f';
                  else if (c == STRINGS-1)
                        cout << '\x5c';
                  else
                        cout << '\x7c';
 
                  for (int d = 0; d < COLUMNS; d++)
                        cout << " " << MATRIX[c][d];
                  
                  if (c == 0) 
                        cout << " " << '\x5c';
                  else if (c == STRINGS-1)
                        cout << " " << '\x2f';
                  else
                        cout << " " << '\x7c';
 
                  cout << endl;
            }
            cout << endl;
      }
}
знатоки, оцените пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.