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


Тест 3


1-20. Вид файла (текстовый или двоичный). Структура данных в файле или формат данных.

21-30. Формат данных в памяти при работе с массивом переменного формата.

31-40. Структура формальных параметров для функции с переменных количеством параметров.

41-50. Алгоритм, реализованный рекурсивной функцией.


// 1------------------------------------------------------


struct man { int dd,mm,yy; };
man *F(int n, FILE *fd)
{ man *p;
p = malloc(sizeof( man));
fseek (fd, (long)sizeof( man)*n, SEEK_SET);
fread (p, sizeof( man),1,fd);
return(p);
}
// 2------------------------------------------------------


void *F(FILE *fd)
{ int n;
void *p;
fread(&#38n,sizeof(int),1,fd);
if (n==0) return(NULL);
p = malloc(n);
fread(p,n,1,fd);
return(p);
}
// 3------------------------------------------------------


double *F(FILE *fd)
{ int n;
double *p;
fread(&#38n,sizeof(int),1,fd);
if (n==0) return(NULL);
p = malloc((n+1)*sizeof(double));
fread(p,sizeof(double),n,fd);
p[n]=0.0;
return(p);
}
// 4------------------------------------------------------


&#35define FNULL -1L
struct xxx { long fnext; };
xxx *F(int n,FILE *fd)
{ xxx *p;
long p0;
p = malloc(sizeof( xxx));
fseek(fd,0L,SEEK_SET);
fread(&#38p0,sizeof(long),1,fd);
for (; p0!=FNULL &#38&#38 n!=0; n--, p0 = p-&#62fnext)
{
fseek(fd,p0,SEEK_SET);
fread(p,sizeof( xxx),1,fd);
}
return(p);
}
// 5------------------------------------------------------


struct man { int dd,mm,yy; };
man *F(int n, FILE *fd)
{ man *p;
long fp;
p = malloc(sizeof( man));
fseek(fd, sizeof(long)*n,SEEK_SET);
fread(&#38fp,sizeof(long),1,fd);
fseek(fd,fp,SEEK_SET);
fread(p,sizeof( man),1,fd);
return(p);
}
// 6------------------------------------------------------


void *F(int n, FILE *fd)
{ int sz;
void *p;
fseek(fd,0L,SEEK_SET);
fread(&#38sz,sizeof(int),1,fd);
p = malloc(sz);
fseek (fd, (long)sz * n +sizeof(int), SEEK_SET);
fread (p, sz,1,fd);
return(p);
}
// 7------------------------------------------------------


void *F(int n, FILE *fd)



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