Разработка Приложений С Использованием Динамических Переменных

Krex

New Member
19.05.2013
3
0
Краснодар
#1
Кое-как сделал по образцу програмку, работает, но она для целых чисел. Мне необходимо чтобы она смогла работать со словами. Нужно чтобы слова начинающиеся с гласной менялись на те же слова, но записанные строчными буквами. Не могу сообразить, ПОМОГИТЕ. Знаю что тип int надо заменить на char*. Кстати это работа со списком. Операции для облегчения я откомментировал)) Заранее благодарю)

#include<iostream.h>
struct TNode;
typedef TNode* PNode;
struct TNode
{
int Data;
PNode Next;
};
//Добавление элемента в начало списка
void AddFirst(PNode& First, int Data)
{
PNode p=new TNode;
p->Data-Data;
p->Next=First;
First=p;
}
//Добавление элемента в середину списка
void AddAfter(PNode& Pred, int Data)
{
PNode p=new TNode;
p->Data=Data;
p->Next=Pred->Next;
Pred->Next=p;
}
//Добавление элемента в конец списка
void AddLast(PNode& First, int Data)
{
PNode p1, p2=First;
while(p2->Next !=NULL)
p2=p2->Next;
p1->Data=Data;
p2->Next=p1;
p1->Next=NULL;
}
//Удаление элемента из начала списка
void DelFirst(PNode& First)
{
PNode p=First;
First=First->Next;
delete p;
}
//Удаление элемента из середины списка
void DelAfter(PNode& Pred)
{
PNode p=Pred->Next;
if(p)
{ Pred->Next=p->Next;
delete p;
}
}
//Удаление элемента из конца списка
void DelLast(PNode& First)
{
PNode p1=First, p2;
while(p1->Next->Next !=NULL)
p1=p1->Next;
p2=p1->Next;
p1->Next=NULL;
delete p2;
}
//Заполнение списка
void InputList(PNode& First)
{
int n, Data;
cout<<"Vvedite kol-vo elementov";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Vvedite element";
cin>>Data;
AddFirst(First, Data);
}
}
//Обход и печать списка
void PrintList(PNode First)
{
PNode p=First;
while(p)
{
cout<<p->Data<<' ';
p=p->Next;
}
cout<<endl;
}
//Поиск со вставкой элемента в список
void FindIns(PNode& First, int x)
{
PNode p=First, q=NULL;
while(p&&x!=p->Data)
{
q=p;
p=p->Next;
}
if(!q)
AddFirst(First, x);
else
AddAfter(q,x);
}
//Поиск с удалением элемента из списка
void FindDel(PNode& First, int x)
{
PNode p=First, q=NULL;
while(p)
if(p->Data==x)
if(!q)
{
DelFirst(First);
p=First;
}
else
{
DelAfter(q);
p=q;
}
else
{
q=p;
p=p->Next;
}
}
void main()
{
PNode First=NULL;
InputList(First);
PrintList(First);
cout<<"Vvedite znachenie dlya vstavki";
int Data;
cin>>Data;
FindIns(First, Data);
PrintList(First);
cout<<"Vvedite znachenie dlya delete";
cin>>Data;
FindDel(First, Data);
PrintList(First);
}