Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- void input(int** arr, int n1, int n2)
- {
- cout << "Заполните матрицу: ";
- for (int i = 0; i < n1; i++)
- {
- for (int j = 0; j < n2; j++)
- cin >> arr[i][j];
- }
- }
- void output(int** arr, int n1, int n2)
- {
- for (int i = 0; i < n1; i++)
- {
- for (int j = 0; j < n2; j++)
- cout << arr[i][j] << ' ';
- cout << endl;
- }
- }
- int main()
- {
- setlocale(0, "");
- int n1_1, n1_2, n2_1, n2_2;
- do
- {
- cout << "Введите размер первой матрицы: ";
- cin >> n1_1 >> n1_2;
- cout << "Введите размер второй матрицы: ";
- cin >> n2_1 >> n2_2;
- if (n1_2 != n2_1)
- {
- cout << "Данные матрицы невозможно перемножить.... " << endl;
- }
- } while (n1_2 != n2_1);
- int** ptr_arr1 = new int* [n1_1];
- for (int i = 0; i < n1_1; i++)
- ptr_arr1[i] = new int[n1_2];
- int** ptr_arr2 = new int* [n2_1];
- for (int i = 0; i < n2_1; i++)
- ptr_arr2[i] = new int[n2_2];
- int** ptr_arr3 = new int* [n1_1];
- for (int i = 0; i < n1_1; i++)
- ptr_arr3[i] = new int[n2_2];
- for (int i = 0; i < n1_1; i++)
- for (int j = 0; j < n2_2; j++)
- ptr_arr3[i][j] = 0;
- input(ptr_arr1, n1_1, n1_2);
- input(ptr_arr2, n2_1, n2_2);
- cout << endl;
- for (int i = 0; i < n1_1; i++)
- for (int j = 0; j < n2_2; j++)
- for (int k = 0; k < n1_2; k++)
- ptr_arr3 += ptr_arr1[i][k] * ptr_arr2[k][j];
- output(ptr_arr1, n1_1, n1_2);
- cout << endl;
- output(ptr_arr2, n2_1, n2_2);
- cout << " " << endl;
- output(ptr_arr3, n1_1, n2_2);
- for (int i = 0; i < n1_1; i++)
- {
- delete[] ptr_arr1[i];
- delete[] ptr_arr2[i];
- delete[] ptr_arr3[i];
- }
- delete[] ptr_arr1;
- delete[] ptr_arr2;
- delete[] ptr_arr3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement