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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Редактор многомерных динамических массивов http://www.cyberforum.ru/cpp-beginners/thread543227.html
!!! Пишу в Microsoft Visual Studio ->Win32 Console application ->C++. !!! Помогите мне пожалуйста написать следующую "задачу", заранее большое спасибо! Условие: ...
C++ Использование set Приветствую. Что-то я совсем глупый вопрос задам, но понять, где тут ошибка никак не могу: #include <iostream> #include <vector> #include <set> #include <utility> typedef std::set... http://www.cyberforum.ru/cpp-beginners/thread543217.html
C++ Архиваторы
Доброго всем дня. Может ли кто-нибудь посоветовать простые программы по созданию архиватора? Обыскала чуть ли не весь интернет, но ничего нормального не нашла. В программировании не разбераюсь, а...
создание классов C++
создать класс который осуществляет вывод на экран таблицы умножения с++
C++ Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread543192.html
Дали лабораторную работу по информатике Задание: Составить массив В так, чтобы элементы массива A следовали в нем в последовательности диагоналей параллельно побочной диагонали и начинались с a, a,...
C++ Почему выдает ошибку в строке "src.erase(p);" Задача из Bjarne Stroustrup - "The C++ Programming Language(3rd edition)": 6.3. (*2) Read a sequence of possibly whitespaceseparated (name,value) pairs, where the name is a single whitespaceseparated... подробнее

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

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

09.04.2012, 12:12. Просмотров 213. Ответов 0
Метки (Все метки)

Задание: из списка удалить элементы меньше заданного.
Наваял что-то, но нифига не получается)

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");
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru