Napisalem takie cos tylko to nie chodzi, wydaje mi sie ze trzeba zrobic za pomoca tablicy struktur, ale jestem poczatkujacy i nie wiem jak to ma wygladac

 #include "stdafx.h"


struct Data
        {
		int d,m,r;
	};
int SORT(const void *p, const void *q)
	{
		Data *a=(Data*)p, *b=(Data*)q;
		int k=a->r - b->r;
		if (k) return k;
		k=a->m - b->m;
		if (k) return k;
		return a->d - b->d;

	}
int _tmain(int argc, _TCHAR* argv[])
{
	int n,i;
	int (*A)[3];
	struct Data D;
	printf("Podaj ile ma byc DAT: \n");
	scanf_s("%d",&n);
	A=(int(*)[3])calloc(n,sizeof(*A));
    if(A==NULL) return 0;
	

	for(i=0;i<n;i++)
	{
		fprintf(stderr,"Podaj date w postaci dzien-mies-rok: %d\n",i+1);
		scanf_s("%d%*c%d%*c%d",&D.d,&D.m,&D.r);
		A[i][0]=D.d;
		A[i][1]=D.m;
		A[i][2]=D.r;
	}
	qsort(A,n,sizeof(*A),SORT);
	for(i=0; i<n;i++)
	{
    printf("%d.%d.%d\n", A[i].d, A[i].m,A[i].r);

	}
 free(A);
        return 0;

}