Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Динамические структуры данных


Автор: Ekatharina 13.1.2010, 16:19
Постановка задачи:
Составить программу, которая удаляет из списка все отрицательные элементы

помогите умные люди!
 код на С++  Builder

Автор: djamshud 13.1.2010, 16:24
Милая леди, если уж у вас "препод лох и ничего не объясняет", вы бы сами попробовали поучиться, это вам нужно, а не ему. А если не нужно, советую сменить ВУЗ/факультет/специальность пока не поздно.

ЗЫ, да, я зануда)).

Автор: Luyan 13.1.2010, 16:26
Цитата(Ekatharina @  13.1.2010,  16:19 Найти цитируемый пост)
удаляет из списка

какой список? Односвязный или двусвязный?
или это list из STL?

Автор: Ekatharina 13.1.2010, 17:22
я без понятия ваще..просто вот такое задание. 

djamshud, я не на программиста учусь... нам ваще фиг знает зачем поставили программирование. =(

Автор: Luyan 13.1.2010, 19:40
Цитата(Ekatharina @  13.1.2010,  17:22 Найти цитируемый пост)
я без понятия ваще..просто вот такое задание. 

 smile  ну кто тут у нас  smile   smile  ?

Ekatharina, какую тему последнюю вы проходили?
И слышали ли вы такие слова: "Стандартная библиотека шаблонов" ?

Автор: zim22 13.1.2010, 20:00
you are welcome
Код

#include <list>
#include <functional>

int main()
{
  std::list<int> li;
  li.push_back(10);
  li.push_back(-5);
  li.push_back(14);
  
  li.remove_if(std::bind2nd(std::less<int>(), 0));
}



Автор: Ekatharina 14.1.2010, 08:59
9 ПРАКТИЧЕСКАЯ РАБОТА 
9.1    Динамические структуры данных

9.2 Цель работы: научиться работать с динамическими списками

9.3 Ход работы:
9.3.1 Загрузить язык программирования  C++
9.3.2 Выполнить задачу из индивидуального задания
9.3.3 Составить отчет о проделанной работе

9.4 Выполнение работы:
9.4.1 Постановка задачи
Составить программу, которая удаляет из списка все отрицательные элементы



вот это все что препод дал для практической

Автор: Luyan 14.1.2010, 10:47
Код

#include <iostream>
#include <conio.h>

struct Node
{
    int info;
    Node *sled;
};
class List
{
private:
    Node *first;
public:
    List()
    {
        first = new Node;
        first->sled = NULL;
    }
    ~List()
    {
        Node *q,*q1;
        q = first;
        q1 = q->sled;
        while(q1!=NULL)
        {
            q = q1;
            q1 = q1->sled;
            delete q;
        }
        delete first;
    }
    void additem(int);
    void display() const;
    void delete_items_minus();
};
void List::additem(int x)
{
    Node *t = new Node;
    t->info = x;
    t->sled = NULL;
    Node *link = first;
    while(link->sled!=NULL)
        link = link->sled;
    link->sled = t;
}
void List::display() const
{
    Node *t = first->sled;
    while(t!=NULL)
    {
        std::cout << t->info << " ";
        t = t->sled;
    }
    std::cout << std::endl;
}
void List::delete_items_minus()
{
    Node *q, *q1, *q2;
    Node *t = first->sled;
    while(t->sled!=NULL)
    {
        if(t->info < 0)
        {
            q = t->sled;
            t->info = q->info;
            t->sled = q->sled;
            delete q;
        }
        t = t->sled;
    }
    if(t->info < 0)
    {
        q1 = first;
        q2 = q1->sled;
        while(q2!=t)
        {
            q1 = q2;
            q2 = q2->sled;
        }
        q1->sled = NULL;
        q2 = NULL;
        delete t;
    }
}
int main ()
{
    List L;
    L.additem(-1);
    L.additem(2);
    L.additem(-3);
    L.additem(4);
    L.additem(-5);
    L.display();
    L.delete_items_minus();
    L.display();
    getch();
    return 0;
}

Автор: Ekatharina 14.1.2010, 13:07
СПАСИБО ОГРОМНОЕ!!!!! ВЫ МЕНЯ СПАСЛИ!!!  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)