piątek, 20 sierpnia 2021

Double array (malloc/free)

 #include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define mint 10

#define maxt 100

int **tab;


void my_Sort(int *t, int s);

void write_Date(char *file_Name, int **t, int x, int y);

int main(int argc, char **argv)

{

int i,j,k,l,m;

char *f_Name;

f_Name="DOUBLE_ARRAY";

srand(time(NULL));

i=mint+rand()%maxt;

j=mint+rand()%maxt;

tab=malloc(i*sizeof(int*));

for(k=0;k<i;k++)

tab[k]=malloc(j*sizeof(int));

for(k=0;k<i;k++)

{

for(l=0;l<j;l++)

{

m=mint+rand()%maxt;

tab[k][l]=m;

}

}

for(k=0;k<i;k++)

my_Sort(tab[k],j);

write_Date(f_Name,tab,i,j);

 

for(k=0;k<i;k++)

free(tab[k]);

free(tab);

return 0;

}

void my_Sort(int *t, int s)

{

int i,j,k;

for(i=1;i<s;i++)

{

j=i;

k=t[j];

while((j>0) && (t[j-1]>k))

{

t[j]=t[j-1];

j--;

}

t[j]=k;

}

}

void write_Date(char *file_Name, int **t, int x, int y)

{

FILE *f;

int i,j;

f=fopen(file_Name,"w");

for(i=0;i<x;i++)

{

for(j=0;j<y;j++)

{

fprintf(f,"%d   ",t[i][j]);

}

fprintf(f,"\n");

}

fclose(f);

}