Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 16:52   #1
Вареник
 
Регистрация: 22.12.2011
Сообщений: 3
По умолчанию Динамический список на языке С

Создать динамический список, элементами которого - целые числа. Реализовать функцию IsUnique, которая возвращает 1, если в списке нет элементов, что повторяются и 0 в противоположном случае.
Общий код таков:

Код:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define ListSize 15
#define MaxValue 20

struct TListItem
{
         int Value;
         TListItem *Next,*Prev;
};

struct TList
{
         TListItem *First,*Last;
};

TList InitList()
{
         TList r;
         r.First = NULL;
         r.Last = NULL;
         return r;
};

void AddListItem(TList& List,int val)
{
         if(List.First==NULL)
         {
                     List.First = (TListItem*)malloc(sizeof(TListItem));
                     List.First->Next = NULL;
                     List.First->Prev = NULL;
                     List.First->Value = val;
                     List.Last = List.First;
         }
         else
         {
                     List.Last->Next = (TListItem*)malloc(sizeof(TListItem));
                     List.Last->Next->Prev = List.Last;
                     List.Last->Next->Next = NULL;
                     List.Last->Next->Value = val;
                     List.Last = List.Last->Next;
         };
};

void DestroyList(TList& List)
{
         TListItem *t=List.First,*r;
         while(t!=NULL)
         {
                     r=t->Next;
                     free(t);
                     t=r;                 
         };
         List.First = List.Last = NULL;
};

void PrintList(TList& List)
{
         TListItem *t=List.First;
         while(t!=NULL)
         {
                     printf("%i ",t->Value);
                     t = t->Next;                 
         };
};


void main()
{

         randomize();
         TList L;
         L = InitList();
         for(int i=0;i<ListSize;i++)
                     AddListItem(L,random(MaxValue));
         PrintList(L);
         printf("\n");
         BubbleSortList(L);
         PrintList(L);
         printf("\n");
         DestroyList(L);
         getch();
         return;
}
кто может помочь дописать функцию?

Последний раз редактировалось ACE Valery; 05.03.2012 в 00:21.
Вареник вне форума Ответить с цитированием
Старый 04.03.2012, 19:58   #2
Вареник
 
Регистрация: 22.12.2011
Сообщений: 3
По умолчанию

i
Код:
nt IsUnique(TList&L)
{
TListItem* t;
int i;
int n;
L=InitList();
t=L.First;
while (t!=NULL)
{
for(i=1;i<n;i++)
if( i==i+1) return 0;
else
if (i!=i+1) return 1;
}
}

вот написал что то но не пашет((

Последний раз редактировалось ACE Valery; 05.03.2012 в 00:21.
Вареник вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамический список Alena_897 Visual C++ 1 29.12.2011 19:42
Динамический список music66 Помощь студентам 1 28.04.2011 17:14
Динамический список на Си Slame Помощь студентам 1 10.04.2011 17:39
Динамический список в С серг Общие вопросы C/C++ 9 11.03.2010 13:39
Динамический список в С серг Общие вопросы C/C++ 0 04.03.2010 19:54