Получить новую матрицу того же размера по правилу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны две действительные квадратные матрицы размером n =< 7. Получить новую матрицу того же размера путем добавления к элементам каждого столбца первой матрицы произведения элементов соответствующей строки второй матрицы.

Решение задачи: «Получить новую матрицу того же размера по правилу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 5
 
void fill_matrix(int** A, bool zero = false)
{
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
        for (int j = 0; j < N; j++)
        {
            A[i][j] = (!zero) ? rand() % N + 1 : 0;
            printf("%d ",A[i][j]);
        }
 
        printf("\n");
    }
 
    printf("\n");
}
 
int main(int argc, char* argv[])
{
    int** A = new int*[N];
    memset((void*)A, 0x00, sizeof(int*) * N);
 
    int** B = new int*[N];
    memset((void*)B, 0x00, sizeof(int*) * N);
 
    int** C = new int*[N];
    memset((void*)C, 0x00, sizeof(int*) * N);
 
    fill_matrix(A); fill_matrix(B); fill_matrix(C, 1);
 
    for (int q = 0; q < N; q++)
    {
        int mul = 1, i = 0;
        while (i < N) mul*=B[q][i++];
 
        for (int j = 0; j < N; j++)
            C[j][q] = A[j][q] + mul;
    }
 
    for (int z1 = 0; z1 < N; z1++)
    {
        for (int z2 = 0; z2 < N; z2++)
            printf("%d ",C[z1][z2]);
 
        printf("\n");
    }
 
    _getch();
 
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется размер матрицы N
  3. Создается функция fill_matrix для заполнения матрицы A с использованием генератора случайных чисел
  4. В функции main создаются матрицы A, B и C динамически с помощью оператора new
  5. Функция fill_matrix вызывается для заполнения матрицы A, B и C
  6. В цикле перебираются элементы матрицы C, умножая их на соответствующие элементы матрицы B
  7. В цикле перебираются элементы матрицы C, выводя их на экран
  8. Вызывается функция _getch для приостановки выполнения программы до нажатия клавиши
  9. Программа возвращает 0, завершаясь

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы