Форум программистов, компьютерный форум CyberForum.ru

односвязные списки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблоны http://www.cyberforum.ru/cpp-beginners/thread108911.html
Не пойму что я неправильно делаю. Как не переделывал, всё равно не получалось. Может кто сможет чем помочь. А задача следующая-надо было оформить каждый пункт этогокода в виде шаблона функций:#include <cstdlib> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv) { const int n=10,c=2; int a={-3,1,7,6,-9,-1,-4,5,2,8};
C++ амёбы, бинарное размножение Одноклеточная амёба каждые 3 часа делится на 2 клетки.Определить, сколько амёб будет через 3,6,9,12,...24 часа??Подскажите, с чего начать?? http://www.cyberforum.ru/cpp-beginners/thread108908.html
Сумма чисел числа n C++
помогите пожалуста..нада прога чтоб найти сумму чисел числа n(если число 123 то найти 1+2+3) n должно задаватся в процессе
Вычислить сумму ряда 1-3+5-7 для количества членов ряда, введенных пользователем и вывести на экран члены данного ряда. C++
1)Вычислить сумму ряда 1-3+5-7 для количества членов ряда, введенных пользователем и вывести на экран члены данного ряда. 2)Определить функцию, которая возвращает сумму цифр натурального числа. Получить ряд чисел от N1 до N2; каждое последующее число равно предыдущему плюс сумма его цифр, используя определённую функцию М i+1=Mi+Si, где Si – сумма цифр числа
C++ Написать программу для нахождения суммы членов арифметической прогрессии http://www.cyberforum.ru/cpp-beginners/thread108886.html
как написать программу для нахождения суммы членов арифметической прогрессии, если известны её первый член, знаменатель и число членов прогресии????
C++ Используя механизм перегрузки функций, разработать две версии функции F Используя механизм перегрузки функций,разработать две версии функции F,заголовки которых выглядят так: 1) float F(float x); 2) void F(float x,float &y) Продемонстрировать работу данных функций на примере: У=1, если (х-1)<1; У=0, если (х-1)=1; У=-1, если (х-1)>1. подробнее

Показать сообщение отдельно
Ivanon
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 9

односвязные списки - C++

25.03.2010, 23:01. Просмотров 1239. Ответов 11
Метки (Все метки)

Помогите пожалуста
в проге нужно в методе класа List нужно вставить елементы с первого списка в второй после последнего вхождение заданого елемента,допустим
если есть
список
1 2 3 4
и список
2 3 4 2 5
и нужно вставить в второй список после последного вхождение елемента 2
будет
2 3 4 2 1 2 3 4 5
но у меня выскакивает ошибка при запуске програмы,связаная с методом void spus(List &t,int n)
_BLOCK_TYPE_IS_VALID(hHead->nBlockUse)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include<iostream>
using namespace std;
struct Link{
    Link * next;
    int data;
    Link(int d=0):next(NULL),data(d){}
    ~Link(){}
};
class List{
private:
Link * head;
public:
    List():head(NULL){}
    List(const List & ls){
        if(!ls.head){
        head=0;
        return;}
        Link *temp=new Link(ls.head->data);
        head=temp;
        Link *Buf=ls.head->next;
        while(Buf){
        Link *temp2=new Link(Buf->data);
        temp->next=temp2;
        Buf=Buf->next;
        temp=temp2;
        }
    }
    List operator=(List &ls){
        if(!ls.head){
        head=0;
        return *this;}
        Link *temp=new Link(ls.head->data);
        head=temp;
        Link *Buf=ls.head->next;
        while(Buf){
        Link *temp2=new Link(Buf->data);
        temp->next=temp2;//
        Buf=Buf->next;
        temp=temp2;//
        return *this;
        }
    }
    
        ~List(){
        Link *Buf=head;
        while(head)
        {
            head=head->next;
            delete Buf;
            Buf=head;
        }
        }
        
        void add_end(int l){
            Link*temp=new Link(l);
            if(head==0)
            {
                head=temp;
            }
            else
            {
                Link *Buf=head;
                while(Buf->next){
                Buf=Buf->next;
                }
                Buf->next=temp;
            }
        }
        void show_all(){
            Link *temp=head;
            for(int i=1;temp;i++)
            {
                cout<<temp->data<<" ";
                temp=temp->next;
            }
        }
        void set_all(){
            int temp=1;
            while(temp!=0)
            {
                cin>>temp;
                if(temp==0)
                {
                    return;
                }
                else add_end(temp);
            }
        }
        int find_min()
        {
            int min=head->data;;
            for(Link *temp=head;temp!=NULL;temp=temp->next)
            {
                if((temp->data)<min)
                {
                    min=temp->data;
                }
            }
            return min;
        }
        void spus(List &t,int n)
        {
            Link *Buf=t.head;
            Link *node= new Link;
            while(Buf)
            {
                if(Buf->data==n)
                {                
                 node=Buf;
                }
              Buf=Buf->next;
            }
   if (node!= NULL){
    node->next=head;
   }
        }
    };
void main()
{
    int k;
    cin>>k;
    List t,t1;
    t.set_all();
    t1.set_all();
    t.spus(t1,k);
    t1.show_all();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru