Создать функцию возвращаемым значением которой является квадратная матрица - C (СИ)

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

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

Помогите, сижу на зачете, хз в чем ошибка создать функцию возвращаемым значением которой является квадратная матрица размером 5 а значения элементов равны сумме соотв. индексов. С помощью этой функции создать и напечатать матрицу
#include <stdio.h>
#include <stdlib.h>
int i=0,j=0,a=0,n=5;
 
int mas[n,n];
 
void fun(int nn)
{
 for (i=1;i<=n;i++)
 for (j=1;j<=n;j++)
    mas[i,j]=i+j;
 
 return *mas;
}
 
main()
{ 
scanf("%d",&n);
fun(n);
 
 for (i=1;i<=n;i++)
 {
 for (j=1;j<=n;j++) printf ("%d",mas[i,j]);
 printf("\n");
 }

system ("pause");
}

Решение задачи: «Создать функцию возвращаемым значением которой является квадратная матрица»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
enum { N = 5 };
 
int* func(unsigned n) {
    int* mx = (int*)malloc(n * n * sizeof(int));
    unsigned i, j;
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            mx[i * n + j] = i + j;
    return mx;
}
 
int main() {
    int* mx = func(N);
    unsigned i, j;
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            printf("%d ", mx[i * N + j]);
        putchar('\n');
    }
    free(mx);
}

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

В данном коде создана функция с именем func, которая принимает целочисленный аргумент n и возвращает указатель на массив целых чисел. Внутри функции происходит выделение памяти под массив n*n целых чисел с помощью malloc. Затем происходит заполнение этого массива значениями, равными сумме соответствующих индексов i и j. Функция возвращает указатель на выделенный массив. В функции main создаётся вызов функции func с аргументом N, после чего происходит вывод значений массива на экран с помощью цикла for и функции printf. Затем вызывается функция free для освобождения выделенной памяти.

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


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

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

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