Логотип сайта

Подготовка к ЕГЭ и ОГЭ

  • Главная
  • Информация о сайте
  • Сочинения ЕГЭ
  • Выпускное сочинение
  • Поиск по сайту

Перемножение матриц (Си/Си++)

Категория: Язык программирования: Си/Си++
Скачать изображение

Простенький код перемножения матриц в качестве домашнего задания для новичка на языке программирования Си. Программа работает в Visual Studio 14. Достаточно вставить код, скомпилировать его и запустить .exe программу. Разобраться в самой программе очень просто.


Код:



#include "stdio.h"
#include "stdlib.h"
#include "locale.h"
#include "conio.h"

int main()
{
 int N, M, N1, M1, i, j, k;
 setlocale(0, "RUS");
 N = 10;
 int **A = (int**)malloc(N * sizeof(int*));
 int **B = (int**)malloc(N * sizeof(int*));
 int **C = (int**)malloc(N * sizeof(int*));
 for (i = 0; i < N; i++)
 {
 A[i] = (int*)malloc(N * sizeof(int));
 B[i] = (int*)malloc(N * sizeof(int));
 C[i] = (int*)malloc(N * sizeof(int));
 }
 printf("Введите количество строк первой матрицы: ");
 scanf_s("%d", &N);
 printf("Введите количество столбцов первой матрицы: ");
 scanf_s("%d", &M);
 printf("Заполните матрицу A:\n");
 for (i = 0; i < N; i++)
 for (j = 0; j < M; j++)
 {
 scanf_s("%d", &A[i][j]);
 }
 printf("Введите количество строк второй матрицы: ");
 scanf_s("%d", &N1);
 printf("Введите количество столбцов второй матрицы: ");
 scanf_s("%d", &M1);
 if (M != N1)
 printf("Эти матрицы невозможно перемножить");
 else
 {
 printf("Заполните матрицу B:\n");
 for (i = 0; i < N1; i++)
 for (j = 0; j < M1; j++)
 {
 scanf_s("%d", &B[i][j]);
 }
 for (i = 0; i < N; i++)
 for (j = 0; j < M; j++)
 {
 C[i][j] = 0;
 for (k = 0; k < M1; k++)
 C[i][j] += A[i][k] * B[k][j];
 }
 printf("\nВид матрицы А\n");
 for (i = 0; i < N; i++)
 {
 for (j = 0; j < M; j++)
 printf("%d ", A[i][j]);
 printf("\n");
 }
 printf("\nМатрица B\n");
 for (i = 0; i < N1; i++)
 {
 for (j = 0; j < M1; j++)
 printf("%d ", B[i][j]);
 printf("\n");
 }
 printf("\nПри умножении получаем матрицу порядка %dx%d\n", N, M1);
 for (i = 0; i < N; i++)
 {
 for (j = 0; j < M1; j++)
 printf("%d ", C[i][j]);
 printf("\n");
 }
 _getch();
 return 0;
 }
}
 

Пример работы программы:

Ответ на вопрос Перемножение матриц (Си/Си++)
Похожие материалы
  • Перевод из десятичной в двоичную (си/си++)
  • Что называется магнитным потоком?... Физика 11 класс
  • Определите, по какой из масок.. Подготовка к ЕГЭ (ИКТ)
  • Сколько единиц в двоичной записи десятичного числа 514?
  • Алгоритм вычисления значения функции F(n)... ИКТ (ЕГЭ)
  • Для групповых операций с файлами.. (Подготовка к ЕГЭ)
  • Определите значение переменной.. (Подготовка к ЕГЭ)
  • 1
  • 2
  • 3
  • 4
  • 5
Оценка: 2.3 из 15

💬 Чат ЕГЭ В Telegram. Вступить

Copyright Vopvet.Ru © 2025 Хостинг от uWeb