Программа с модулем, содержащим функции над динамическими массивами
Задача. Программа с модулем, содержащим функции над динамическими массивами. Напишите программу, работающую с динамическими одномерными и двумерными массивами. Проект должен содержать файлы: main.c, TabliceDyn.h, TabliceDyn.c. В файлах ArrayDyn.h и ArrayDyn.c поместите объявления и определения функций что позволяют: • создавать, отображать и удалять одномерный динамический массив вещественных чисел, • создавать и отображать двумерный динамический массив вещественных чисел. В файле main.c проверьте написанные функции.
//TabliceDyn.h
#ifndef RABLICEDYN_H_INCLUDED
#define TABLICEDYN_H_INCLUDED
float ** StMass(int n,int m);
void WywMass(float **A,int n, int m);//Wydrukuj tablicę do konsoli
void WydalMass(float **A,int n);//usunięcie tablicy
#endif // TABLICEDYN_H_INCLUDED
//ArrayDyn.h
#ifndef ARRAYDYN_H_INCLUDED
#define ARRAYDYN_H_INCLUDED
float * CreateArray(int n);
void PrintArray(float A[],int n);
void DeleteArray(float *A);
#endif // ARRAYDYN_H_INCLUDED
//ArrayDyn.c
#include <stdio.h>
#include <stdlib.h>
#include "ArrayDyn.h"
float * CreateArray(int n)
{
float *A = (float*) malloc (sizeof (float)*n);
for (int i=0;i<n;i++)
{
A[i] = (float) (rand()%100)/10;
}
return A;
}
void PrintArray(float A[],int n)
{
for (int i=0;i<n;i++)
{
printf("%.2f\t",A[i]);
}
printf("\n");
}
void DeleteArray(float *A)
{
free(A);
}
//TabliceDyn.c
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include "TabliceDyn.h"
float ** StMass(int n,int m)
{
float ** A = (float**) malloc (sizeof (float*)*n);
for (int i=0;i<n;i++)
{
A[i] = (float*) malloc (sizeof (float)*n);
for (int j=0;j<m;j++)
{
A[i][j] = (float) (rand()%100)/10;
}
}
return A;
}
void WywMass(float ** A,int n,const int m)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
printf("%.2f\t",A[i][j]);
}
printf("\n");
}
}
void WydalMass(float **A,int n)//удаление таблицы
{
for (int i=0;i<n;i++)
{
free(A[i]);
}
free(A);
}
//main.c
#include <stdio.h>
#include <stdlib.h>
#include "ArrayDyn.h"
#include "TabliceDyn.h"
int main()
{
int n;
int m;
printf("Podaj n:\n");
scanf("%d", &n);
printf("Podaj m(taka sama jak n):\n");
scanf("%d", &m);
float *A = CreateArray(n);// Создайте новый массив и заполните его произвольными числами
PrintArray(A,n);//Вывести массив в консоль
DeleteArray(A);//удаление таблицы
printf("\nElement tablicy po usunięciu tablicy: %.2f\n",A[0]);// давайте получим элемент массива после удаления массива
float **M = StMass(n,m);// Создайте новый массив и заполните его произвольными числами
WywMass(M,n,m);//Вывести массив в консоль
WydalMass(M,n);//usunięcie tablicy
printf("\nElement tablicy po usunięciu tablicy: %.2f\n\n",M[0][0]);// давайте получим элемент массива после удаления массива
return 0;
}
Выдаёт ошибку:
[Error] Id returned 1 exit status
Подскажите пожалуйста как исправить?
Источник: Stack Overflow на русском