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


Вопросы без ответов - часть 2


{
switch(*ptr.pi++)
{
case 1: dd+= *ptr.pi++; break;
case 2: dd+= *ptr.pl++; break;
case 3: dd+= *ptr.pd++; break;
}
}
return dd;}
//------------------------------------------------------10


double F10(int a1,...)
{ double s,*q; int i,n;
for (s=0, n=a1, q = (double*)(&#38a1+1); n!=0; n--)
s += *q++;
return s;}
//-------------------------------------------------------11


double F11(int a1,...)
{ double s=0;
int *p=&#38a1;
while(*p!=0)
{
if (*p&#62 0) s+=*p++;
else
{ p++; s += *((double*)p)++; }
}
return s; }
//--------------------------------------------------------12


double F12(char *p,...)
{ double s;
int *q=(int *)(&#38p+1);
for (;*p!=0; p++)
switch(*p)
{
case 'd': s+=*q++; break;
case 'f': s+=*((double*)q)++; break;
case 'l': s+=*((long*)q)++; break;
}
return s; }
//--------------------------------------------------------13


int F13(char *p,...)
{ int s=0;
int *q=(int *)(&#38p+1);
for(;*p!=0;p++)
if (*p&#62='0' &#38&#38 *p&#60='9') s+=q[*p-'0'];
return s;
}
//--------------------------------------------------------14


double F14(int p,...)
{ double dd=0;
int *q=&#38p;
for (; *q != 0; )
{
switch(*q++)
{
case 1: dd+= *q++; break;
case 2: dd+= *((long*)q)++; break;
case 3: dd+= *((double*)q)++; break;
}
}
return dd;}





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