Napisalem takie cos:
#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
{
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
{
printf("%d.%d.%d\n", A[i].d, A[i].m, A[i].r);
}
free(A);
return 0;
}
I wyskakuje mi taki błąd:
Dla kazdego(m,r,d) taki blad:
left of ‘.m’ must have class/struct/union
type is ‘int [3]’