Как написать функцию создания подсписка подходящих по весу и возрасту. Вес и возраст. Само определение задания не совсем понятно :???: не говоря уже о том как эту функцию написать ? Понамекайте? | Код | ////////////////////////////////// // описание элемента списка // ////////////////////////////////// typedef struct ListElTag { struct ListElTag *left; //связь влево struct ListElTag *right; //связь вправо char *name; //хранимый указатель на данные char *age; char *weight;
} LISTEL; /////////////////////////////////// // описание очереди /// /////////////////////////////////// typedef struct ListTag { LISTEL *head; //указатель на голову LISTEL *tail; //указатель на хвост int size; //количесво элементов в очереди } LIST; ////////////////////////////////////// // инициализация очереди // ////////////////////////////////////// void InitList(LIST *list) { printf("инициализация списка\n"); list->head=list->tail=NULL; list->size=0; } ////////////////////////////////////// void AddList(LIST *list,char *name,char *age, char *weight) { int len=strlen(name); //выделение памяти под новый элемент LISTEL *listel=(LISTEL *)malloc(sizeof(listel)); if(listel==NULL) return; listel->name=(char*)malloc(len+1); //выделение памяти под строку listel->age=(char*)malloc(strlen(age)); listel->weight=(char*)malloc(strlen(weight)); if(listel->name==NULL) if(listel->age==NULL) if(listel->weight==NULL) return; strcpy(listel->name,name); //копировать строку strcpy(listel->age,age); strcpy(listel->weight,weight); listel->left=NULL; listel->right=NULL; printf("добавление элемента\n"); //организация связи if(list->head==NULL) //список пуст { list->head=list->tail=listel; } else //добавление элемента в конец очереди { list->tail->left=listel; listel->right=list->tail; list->tail=listel; } list->size++; } /////////////////////////////////////////// // Организация подсписка // /////////////////////////////////////////// void AddList1()
void OutList(LIST *list) { LISTEL *ptr; printf("вывод писка\n"); for(ptr=list->head; ptr!=NULL; ptr=ptr->left) printf("%s %s лет. %s кг.\n",ptr->name,ptr->age,ptr->weight); } /////////////////////////////////////////// void main() { clrscr(); LIST list; InitList(&list); AddList(&list,"Петя","22","75"); AddList(&list,"Саша","24","80"); AddList(&list,"Миша","32","66"); AddList(&list,"Катя","18","51"); OutList(&list); }
|
|