Информатика и технология программирования


Тест 2 - часть 6


int F(xxx *q)
{
int i,n,m;
if (q==NULL) return 0;
for (n=F(q-&#62p[0]),i=1; q-&#62p[i]!=NULL; i++)
if ((m=F(q-&#62p[i])) &#62n) n=m;
return n+1;
}
// 41---------------------------------------------------------


typedef int (*PCMP)(void*, void*);
struct xxx { void *data; xxx *next; };
void *F( xxx **p, PCMP pf)
{
xxx *q;
void *s;
for (s=p[0]-&#62data; *p != NULL; p++)
for (q = *p; q != NULL; q = q-&#62next)
if ((*pf)(s,q-&#62data)==-1) s=q-&#62data;
return s;
}
// 42--------------------------------------------------------


typedef int (*PCMP)(void*, void*);
struct xxx { void *data; xxx *next; };
struct sxxx { xxx *ph; sxxx *next; };
void *F( sxxx *p, PCMP pf)
{
xxx *q;
vois *s;
for (s=p-&#62ph-&#62data; p != NULL; p = p-&#62next)
for ( q = p-&#62ph; q!=NULL; q=q-&#62next)
if ((*pf)(s,q-&#62data))==-1) s=q-&#62data;
return s;
}
// 43--------------------------------------------------------


typedef int (*PCMP)(void*, void*);
struct xxx { void **data; xxx *next; };
void *F( mxxx *p, PCMP pf)
{
void **q;
void *s;
for (s=p-&#62data[0]; p != NULL; p = p-&#62next)
for (q = p-&#62data; *q != NULL; q++)
if ((*pf)(s,*q)==-1) s = *q;
return s;
}
// 44--------------------------------------------------------


typedef int (*PCMP)(void*, void*);
void *F(void ***p, PCMP pf)
{
void **q, *s;
for (s=p[0][0]; *p != NULL; p++)
for (q = *p; *q != NULL; q++)
if ((*pf)(s,*q)==-1) s = *q;
return s;
}
// 45--------------------------------------------------------


typedef int (*PCMP)(void*, void*);
void *F(void *p, int sz, int n, PCMP pf)
{
char *q;
void *s;
for (q = p, s = p; n &#62 0; n--, q+=sz)
if ((*pf)(s,q)==-1) s=q;
return s;
}
// 46--------------------------------------------------------


typedef int (*PCMP)(void*, void*);
struct xxx { void *data; xxx **link; };
void *F( xxx *p, void PCMP pf)
{
xxx **q;
void *s,*r;
if (p==NULL) return NULL;
s = p-&#62data;
for (q = p-&#62link; *q != NULL; q++)
{
r=F(*q,pf);



Начало  Назад  Вперед