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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 23:32   #1
Katya Melody
 
Регистрация: 12.03.2009
Сообщений: 7
По умолчанию Списки C++

Доброго времени суток.Очень нужна помощь.Нужно прописать функцию следующую:
определить,сколько раз в списке встречается элемент с заданным значением и в каких позициях(справа налево).Вот то,что уже написано.Практически все из лекций
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
class TElem
{
friend TList;
char a;
TElem *next,*prev;
public:
TElem();
};
TElem ::TElem ()
{
next=prev=NULL;
}
class TList
{
TElem *first,*last,*x;
int count;
public:
TList();
void sozd();
void read_r_l();
void read_l_r();
void element_zna4();
};
TList::TList()
{
first=last=x=NULL;
count=0;
}
void TList::sozd()
{
cout<<"Vvodim simvol,0-okon4anie"<<endl;
do
{
x=last;
last=new TElem;
count++;
cin>>last->a;
last->next=NULL;
last->prev=x;
if (first==NULL)first=last;
else
x->next=last;
}
while (last->a!='#');
}
void TList::read_r_l()
{
cout<<"Vivedite spisok sprava nalevo:" <<endl;
x=last;
while(x->prev!=NULL)
{
cout<<x->a<<endl;
x=x->prev;
}
cout<<first->a;
}
void TList::read_l_r()
{
cout<<"Vivedite spisok sleva napravo:" <<endl;
x=first;
while(x->next!=NULL)
{
cout<<x->a<<endl;
x=x->next;
}
cout<<last->a;
}

//-----------------------------------------------------
void main()
{
clrscr();
TList fd;
int a;
do
{
cout<<"Vibiray"<<endl<<"0-vihod"<<endl
<<"1-sozdanie"<<endl
<<"2-4tenie right-left"<<endl
<<"3-4tenie left-right"<<endl
<<"4-skolko raz vstre4aetsya element i v kakoi pozicii"<<endl;


cin>>a;
switch(a)
{
case 1:fd.sozd();break;
case 2:fd.read_r_l();break;
case 3:fd.read_l_r();break;
case 4:fd.element_zna4();break;
}
getch();
}
while(a>=1 && a<=4);
getch();
}
И еще вопрос как в дальнейшем освободить выделенную память под список?
Помогите,плиз,кто может.Заранее спасибо
Katya Melody вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки Bremlin Microsoft Office Excel 10 04.11.2008 15:13
Списки Вилен Общие вопросы C/C++ 3 22.05.2008 00:40
Списки... Arkuz Компоненты Delphi 2 19.04.2008 22:58
Списки AVer Паскаль, Turbo Pascal, PascalABC.NET 6 06.12.2006 23:05