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

Односвязный список(помогите немного исправить) - C++

Восстановить пароль Регистрация
 
kuwmen
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 21
09.04.2012, 12:12     Односвязный список(помогите немного исправить) #1
Задание: из списка удалить элементы меньше заданного.
Наваял что-то, но нифига не получается)

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
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <iostream>
#include <cstdlib>
#define N 10
using namespace std;
 
struct list
{
int number;
list *next;
list (int n=0, list*p=NULL)
{number=n;
next=p;
}
};
list *Add_host(list*head, int num)
{
list *q=new list(num),*t=head;
if (head==NULL)return q;
while (t->next!=NULL)t=t->next;
t->next=q;
return head;
}
list *Build()
{
char str[N];
list *head=NULL;
cout<<"\n sozdaem spisok(enter-konec)\n";
while (1)
{
gets(str);
if (str[0]=='\0') break;
head=Add_host(head, atoi(str));
}
return head;
}
void Print (list *head)
{
cout<<"\n poluchenni spisok\n";
while (head!=NULL)
{
cout<<head->number<<"->";
head=head->next;
}
}
 
list * Delete_value(list *first, int val)
{
list *t=first;
if(first==NULL)
{puts("No value");
return NULL;
}
if(first ->number<=val)
{
    first=first->next;
    delete t;
    cout<<first->next;
    return first;
}
while(t->next !=NULL)
    if(t->next->number<=val)
        {
            tmp=t->next;
            t->next=t->next->next;
            delete *tmp;
            cout<<t->next;
            return first;
    }
    else t=t->next;
    puts("no value");
    return first;
}
void main()
{
list*head;
int a,val;
cout<<"programma ydalayet elementi spiska men'she zadannogo\n";
head=Build();
Print(head);
cout<<"\n vvedite element  spiska: ";
cin>>val;
Delete_value(head, val);
if (val!=0)
{
cout<<"element naiden";
Print(head);
}
system("pause");
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 12:12     Односвязный список(помогите немного исправить)
Посмотрите здесь:

Односвязный список C++
Односвязный список C++
C++ Исправить немного
C++ Односвязный список.
Помогите организовать односвязный список! C++
Односвязный список C++
Односвязный список C++
Нужно немного исправить код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 18:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru