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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2010, 17:02   #1
Sigwey
Новичок
Джуниор
 
Регистрация: 13.12.2010
Сообщений: 2
По умолчанию Очистка памяти в односвязном списке

Очень нужна помощь с программой на Си. Завтра сдача проги, не сдам не допустя к сессии)))
Программа для работы со списком. суть в том что елементы, которые больше своего порядкового номера надо оставить в списке.
После выполнения работ надо очистить память. Вот тут вот и случилась загвоздка. Не как не могу очистить память элемента...
Буду оччень признателен за помощь.



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct el
{
int info;
struct el *next;
};

int main ()
{

int i, k, n;
struct el *first, *cur = NULL, *tmp, *t;

first = ( struct el * ) malloc ( sizeof ( struct el ) );

printf ( "Enter elements, finish 'symbol'\n" );
printf("Element = ");
scanf ( "%d", &n );

first -> info = n;
first -> next = cur;

cur = first;

i = 1;
while ( 1 )
{
tmp = ( struct el * ) malloc ( sizeof ( struct el ) );
if ( !tmp )
{
printf ( "Memory" );
exit ( 0 );
}

cur -> next = tmp;

printf("Element = ");
k = scanf ( "%d", &n );
if ( k == 0 )
{
break;
}


tmp -> info = n;
tmp -> next = NULL;

cur = tmp;

i ++;
}


cur = first;
tmp = first;

for ( k=n=0; k < i; k ++ )
{
if ( cur->info > k)
{
tmp->info = cur->info;
cur = cur->next;
tmp = tmp->next;
n++;
}
else
{
//Вот тут надо сделать очистку памяти...
}
}

cur = first;

for ( k = 0; k < n; k ++ )
{
printf ("%d ", cur -> info);
cur = cur -> next;
}

printf ("\n");
getch();
}
Sigwey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка памяти _-Re@l-_ Общие вопросы Delphi 4 22.05.2010 17:08
Поиск в односвязном списке DOJ Общие вопросы C/C++ 6 04.10.2009 13:34
Обмен местами 2х элементов в односвязном списке. amdbodia Общие вопросы C/C++ 4 31.05.2009 23:26
Очистка памяти Senator Общие вопросы Delphi 1 28.06.2008 19:39
Очистка памяти в C# darkstarx Общие вопросы .NET 1 14.04.2008 14:48