| 2009-06-02 15:31:26 Муфлон ![]() |
2009-06-02 15:48:55 ![]() ![]() bayan.gif |
| 2009-06-02 16:00:26 тыц |
| 2009-06-02 16:01:14 Муфлон ![]() ![]() ![]() |
| 2009-06-02 16:04:21 Люсия |
| 2009-06-02 16:25:46 Муфлон Люсия ![]() ![]() ![]() |
2009-06-02 16:27:18 ![]() ![]() ![]() |
2009-06-02 16:33:39 ![]() ![]() ![]() |
2009-06-02 19:28:04 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() pom.gif![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() zol.gif![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() pom.gifpom.gif![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() zol.gifzol.gif![]() ![]() ![]() ![]() ![]() |
| 2009-06-02 19:28:30 вот вам хахахахааха |
| 2009-06-02 19:33:41 BLUE_DraGoN ну и что??
|
2009-06-02 19:33:53 ![]() |
| 2009-06-03 10:16:01 Flash999 ![]() ![]() bayan.gif |
| 2009-06-03 11:18:21 Люсия ![]() ![]() ![]() ![]() |
2009-06-03 21:33:08 ![]() ![]() ![]() |
2009-06-04 17:11:13 ![]() |
2009-06-04 18:24:16 ![]() ![]() friday.gif |
| 2009-06-04 18:30:36 Люсия ![]() ![]() ![]() ![]() ![]()
привет! )))) |
| 2009-06-04 18:36:46 Flash999 привет)))) |
| 2009-06-04 18:44:54 Люсия
а я щас в стольне, последов наконец тренирую))) представляю сколько часов на тренировку Диего уйдет ![]() |
2009-06-05 17:47:20 ![]() ![]() ![]() |
2009-06-06 13:19:15 ![]() |
| 2009-06-06 20:00:33 [19:08] Работа завершена. Вы получаете: Крепкая Кожа... [19:14] Работа завершена. Вы получаете: Крепкая Кожа... [19:20] Работа завершена. Вы получаете: Крепкая Кожа... [19:26] Работа завершена. Вы получаете: Крепкая Кожа... [19:32] Работа завершена. Вы получаете: Крепкая Кожа... [19:38] Работа завершена. Вы получаете: Крепкая Кожа... [19:43] Работа завершена. Вы получаете: Крепкая Кожа... [19:49] Работа завершена. Вы получаете: Крепкая Кожа... [19:55] Работа завершена. Вы получаете: Крепкая Кожа... ![]() |
2009-06-07 18:57:29 ![]() ![]() ![]() |
| 2009-06-07 18:59:25 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include <string.h> #include "fun.h" int f_add(floor **head) { int mest;//количество мест на этаже int nom;//этаж do { puts("Укажите номер этажа:"); fflush(stdin); }while(!scanf("%d",&nom));// номер нового этажа do { puts("Количество жилых мест на этаже:"); fflush(stdin); }while((!scanf("%d",&mest))&&(mest>200));//вводим количество мест на новом этаже floor* n; if((n=(floor*)malloc(sizeof(floor)))==NULL)//выделение памяти под структуру n { puts("Недостаточно памяти"); return 1; } if(*head==NULL)//если кольцо не создано { *head=(floor*)malloc(sizeof(floor)); // выделение памяти под структуру (*head)->left=(*head)->right=(*head)=n; n->n_mest=mest;//количество мест n->namber=nom;//номер этажа n->n_zan=0;//пока свободно... }else { n->left=(*head); n->right=(*head)->right; (*head)->right->left=n; (*head)->right=n; n->n_mest=mest; n->namber=nom; n->n_zan=0;//пока чисто... } return 1; } int l_add(list **t,list **h) { do { list *n;// указатель на структуру n=(list*)malloc(sizeof(list));// выделяем память под n puts("Введите фамилию студента"); gets(n->name);//вводим ФИО puts("Введите группу студента"); gets(n->pat);// вводим группу if(!*h) { // если очередь не создавалась *t=*h=n; n->nx=NULL; } else { (*t)->nx=n; // следующий за последним адресем на новый (*t)=n; // последним становиться новый n->nx=NULL; }; puts("y- Продолжить записи студентов в очередь"); fflush(stdin); }while(getch()=='y'); return 1; } int f_del(floor **head,list** zap) { int nom; // номер удаляемого этажа floor *n=*head; // s1 адресуем на головной элемент кольца if(!n) // если кольцо пусто { puts("У общежития отсутсвуют этажи"); return 0; }; do { puts("Введите номер этажа"); fflush(stdin); }while(!scanf("%d",&nom));//номер удаляемого этажа do { if(nom!=n->namber) n=n->right;//если не этот этаж, то идем дальше else { n->right->left=n->left; n->left->right=n->right; if((n==*head)&&(head[0]->left!=*head)) *head=n->right; if((head[0]->left==*head)&&(n==*head)) *head=NULL; free(n); return 1; } }while(n!=*head); puts("Данный этаж отсуствует"); return 1; } int l_del(list**h) { char s1[40],s3[20]; // указатели на строки(ФИО, группа) if(!*h)//если очередь пуста { puts("Очередь пуста"); return 1; } list *n,*p;// указатели на структуры p=n=*h; puts("Введите фамилию удаляемого студента"); scanf("%s",s1); // вводим фамилию puts("Введите группу удаляемого студента"); gets(s3); // вводим группу do { if(strcmp(n->name,s1)&&strcmp(n->pat,s3)) { if(n==*h)// если это первый элемент очереди { printf("Студента "); printf("%s %s ",s1,s3); puts("был удален из очереди"); (*h)=(*h)->nx; // сдвигаем первый элемент очереди free(n); return 1; }; p->nx=n->nx;// указатель на слудующий в предыдущем перед удаляемым адресуем на следующий после удаляемого free(n);// удаляем указатель на структуру printf("Студент "); printf("%s %s %s",s1,s3); puts("был удален из очереди на заселение"); return 1; } else { p=n;// предыдущий становиться текущим n=n->nx;// сдвигаем текущий }; }while(n!=NULL);// пока не конец очереди puts("Введенный студент в очереди не найден"); return 1; } int mem_off(floor **head,list **h,list **t) { floor *k1=*head; list *n1=*h; (*head)->right->left=NULL; while(*head!=NULL) { k1=*head; *head=(*head)->left; free(k1); } free(*head); free(head); while((*h)!=NULL) { n1=*h; *h=(*h)->nx; free(n1); } free(h); free(t); return 1; } int l_see(list **h) { if(!*h) // если очередь пуста { puts("Очередь пуста"); return 0; }else puts("nОчередь на заселение:n"); list* n=*h; // n адресуем на первый элемент очереди int i=1; // переменная для нумерации очереди while(1) { if(n==NULL) // если конец очереди return 1; printf("%d)%s %sn",i,n->name,n->pat); n=n->nx; // двигаемся по очереди i++; // наращиваем номер }; return 1; } int f_see(floor **head) { int sum=NULL; // количество свободных мест floor *s1=*head; // s1 адресуем на головной элемент кольца if(!s1) // если кольцо пусто { puts("Общежитее не имеет этажей"); return 0; } puts("n"); do { puts ("========================================"); printf(" Этаж № %d_(свободно %d из %d мест)n", s1->namber,(s1->n_mest-s1->n_zan),s1->n_mest); puts ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); sum+=( s1->n_mest-s1->n_zan); if(s1->n_zan==0) puts ("Не заселён=============================="); int i=0; while(i<s1->n_zan) { printf("%30s %10s n" ,s1->nasel[i].name,s1->nasel[i].pat); puts("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); i++; } s1=s1->right; }while(s1!=*head); printf("Свободных мест в общежити:%dn",sum); if(sum) return 1; return 0; } int off(floor **head) { struct floor* s1=*head; if(!s1) { puts("У гостиницы отсутсвуют этажи"); return 0; }; puts("Введите имя выселяемого"); fflush(stdin); char sn[40]; // имя выселяемого студента gets(sn); // вводим имя выселяемого puts("Введите группу"); fflush(stdin); char ss[20]; // группа выселяемого студента gets(ss); // вводим группу выселяемого do { int i=NULL; // для индексации элементов массива структур(ФИ, группа) int zas=s1->n_zan;// запонимаем число живущих if( s1->n_zan!=0) // если на этаже есть свободные места do { if((!strcmp(s1->nasel[i].name,sn)) &&(!strcmp(s1->nasel[i].pat,ss))) { int k=i; // запоминаем номер текущего while(k<(zas-1))// пока не проёдйм по всем живущим { strcpy(s1->nasel[k].name,s1->nasel[k+1].name); strcpy(s1->nasel[k].pat,s1->nasel[k+1].pat); k++; }; s1->n_zan-=1; printf("Проживающий общежитии "); printf("%s (%s)",sn,ss); puts("Был выселен из гостиницы"); return 1; } else i++; // переходим к следующему }while(i<zas); // пока не прошли всех s1=s1->left; // переходим к следующему этажу }while(s1!=*head); // пока не обощли все этажи puts("Посетитель не найден"); return 1; } int on(floor **head,roomer *st) { floor *s1=*head; // указатель s1 адресуем на головной элемент кольца do { int i=0; // рабочая переменная для индексации элементов в массиве if((s1->n_mest-s1->n_zan)!=NULL) // если на этаже есть свободные места { strcpy(s1->nasel[s1->n_zan].name,st->name); // записываем имя strcpy(s1->nasel[s1->n_zan].pat,st->pat); // записываем группу s1->n_zan+=1; // увеличиваем количество заселённых printf("Посетитель "); printf("%s %c",st->name,st->pat[0]); printf("Заселён на этаж № %d",s1->namber); return 1; } s1=s1->left; // перехожим на следующий этаж }while(s1!=*head); // пока не обошли всё кольцо puts("Свободных мест не оказалось"); return 0; } roomer* g_roomer(list **h,int r) { roomer *st; // указатель на структуру if(!(st=(roomer*)malloc(sizeof(roomer)))) // выделяем память под st { puts("Недостаточно памяти"); return 0; }; if(r==1) // если вселяем по очереди { strcpy(st->name,h[0]->name); strcpy(st->pat,h[0]->pat); list *pr=*h; // новый указатель на структуру адресуем на головной элемент очереди h[0]=h[0]->nx; // сдвигаем головной элемент очереди free(pr); // удаляем элемент очереди }; if(r==2) // если вселяем не по очереди { puts("Введите имя студента"); gets(st->name); // вводим имя puts("Введите группу студента"); gets(st->pat); // вводим группу list *n,*p; // указатели на структуры p=n=*h; // адресуем на голову очереди if(*h) // если очередь существует do { if( (!strcmp(n->name,st->name))&& (!strcmp(n->pat,st->pat)) ) { p->nx=n->nx; free(n); // удаляем структуру puts("Студент удалён очереди"); break; } else { p=n; // предыдущий делаем текущим n=n->nx; // двигаемся по очереди }; }while(n); // пока не конец очереди }; return st; }; |