Указатели на многомерный массив. Задача

Ребята,есть код,задача: умножение 2-ух матриц,и помещение результата в 3 матрицу.
Надо написать этот же код,только фрагмент с умножением матриц и помещением результата записать в виде функции с указателями(нужна функция вида mul_square(int m1,int m2,int *m3,int n),где указатели — это указатели на многомерные массивы,а n — размерность (нужна только 3х3).
Не могу дать дупля,как это написать

Код:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 3



int main () 
{  
int i,j,k,C[N][N],A[N][N],B[N][N];
srand(time(NULL));
for (i = 0; i < N; i++)
    for (j = 0; j < N; j++)
    {
        A[i][j] = rand() % 10;
        B[i][j] = rand() % 10;
    }
for(i = 0; i < N; i++)
    for(j = 0; j < N; j++)
    {
        C[i][j] = 0;
        for(k = 0; k < N; k++)
        C[i][j] += A[i][k] * B[k][j];
    }
    printf("matrix A\n");
for (i = 0; i < N; i++)
{
    for (j = 0; j < N; j++){
        printf("%d ", A[i][j]);}
        printf("\n");
}

printf("\nmatrix B\n");
for (i = 0; i < N; i++)
{
    for (j = 0; j < N; j++){
        printf("%d ", B[i][j]);}
    printf("\n");
}
printf("\nthe result of multiplying\n");
for (i = 0; i < N; i++)
{
    for (j = 0; j < N; j++){
        printf("%3d ", C[i][j]);}
    printf("\n");
}


system("pause");
return 0;
}
void mul_square(int *ma, int *mb, int *mc, size_t n) {
for (size_t i = 0; i < n; i++)
    for (size_t j = 0; j < n; j++) {
        *(mc + i * n + j) = 0;
        for (size_t k = 0; k < n; k++)
            *(mc + i * n + j) += *(ma + i * n + k) * *(mb + k * n + j);
    }
}

Братан,ты лучший,давай я тебя отблагодарю

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.