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

Тема в разделе "Общие вопросы по С и С++", создана пользователем Krex, 21 май 2013.

  1. Krex

    Krex New Member

    Регистрация:
    19 май 2013
    Сообщения:
    3
    Симпатии:
    0
    Кое-как сделал по образцу програмку, работает, но она для целых чисел. Мне необходимо чтобы она смогла работать со словами. Нужно чтобы слова начинающиеся с гласной менялись на те же слова, но записанные строчными буквами. Не могу сообразить, ПОМОГИТЕ. Знаю что тип 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);
    }
     
Загрузка...
Похожие Темы - Разработка Приложений Использованием
  1. Андрей Белкин
    Ответов:
    0
    Просмотров:
    122
  2. SvetlanaL
    Ответов:
    0
    Просмотров:
    493
  3. SvetlanaL
    Ответов:
    0
    Просмотров:
    608
  4. SvetlanaL
    Ответов:
    0
    Просмотров:
    862
  5. SvetlanaL
    Ответов:
    0
    Просмотров:
    831

Поделиться этой страницей