1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Помогите с Задачкой

Тема в разделе "Вопросы новичков и не только", создана пользователем pactok, 18 янв 2011.

  1. pactok

    pactok Гость

    Репутация:
    0
    Всем привет,Помогите с задачкой плз...косячит в с++ пишет кучу ошибок,но вроде всё верно
    Вот Задание : Необходимо реализовать двусвязный список. В качестве информационной части выступают указатели на массивы строк. Необходимо реализовать следующие функции: добавление элементов в начало/конец массива, вывод конкатенации строк всех элементов на экран, удаление из списка памяти (включая информационную часть, поскольку она тоже определяется указателями).
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">
    Код:
    #ifndef list
    #define list
    
    typedef struct lplist{
    char* str;
    lplist* next;
    lplist* previous;
    } NODE;
    
    void add(NODE*& first, NODE newItem);
    void del(NODE*& first);
    void output(NODE* first);
    void flush(NODE*& first);
    #endif
    #include "stdafx.h"
    #include <iostream>
    #include "list.h"
    using namespace std;
    
    
    void add(NODE*& first, NODE Item){
    if (first==NULL) {
    first = new NODE;
    first->str = Item.str;
    first->next = NULL;
    first->previous = NULL;
    
    }
    else {
    NODE* p;
    p = new NODE;
    p->str = Item.str;
    p->next = first;
    first->previous = p;
    first = p; 
    }
    
    
    }
    
    void addLast(NODE*& first, NODE Item) {
    
    NODE q,p=First;
    While(p->Next != NULL)
    p = p->Next;
    q=new Node;
    q-> Item.str = Item.str;
    p->Next=q;
    q->Next = NULL;
    }
    void output(NODE*first){
    while (first!=NULL)
    { 
    cout<<first->str;
    first=first->next;
    }
    }
    
    void flush(NODE*& first){
    while (first!=NULL)
    {
    NODE * prev = first;
    first=first->next;
    delete prev;
    }
    }
    
    #include "stdafx.h"
    #include <iostream>
    #include "list.h"
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    { 
    NODE * first = NULL;
    NODE Mc, Mc1, Mc2;
    Mc.str="Cat";
    Mc1.str="Come";
    Mc2.str="Home";
    add(first, Mc);
    add(first, Mc1);
    add(first, Mc2);
    output(first);
    cout<<" ";
    del(first);
    output(first);
    flush(first);
    return 0;
    }
     
Загрузка...
Похожие Темы - Помогите Задачкой
  1. Sevas
    Ответов:
    4
    Просмотров:
    1.746
  2. ~localhost
    Ответов:
    2
    Просмотров:
    66
  3. citizenfour
    Ответов:
    1
    Просмотров:
    68
  4. Tayrus
    Ответов:
    1
    Просмотров:
    79
  5. Lcf11
    Ответов:
    2
    Просмотров:
    86

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