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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bob103
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 211
Завершенные тесты: 2
#1

Создать список из целых чисел. Исключить из списка все элементы, равные х - C++

23.06.2016, 14:23. Просмотров 259. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
#include "list.h"
#include <fstream>
 
 
using namespace std;
 
int main()
{
    ifstream in("input.txt");
    ofstream out("output.txt");
    
    List <int> getNumb;
    int i, x;
    cin >> x;
 
 
    while (in >> i)
    {
        getNumb.Insert(,i);
    }
 
    while (!getNumb.Empty())
    { 
        if (x != getNumb.Get())
            out << getNumb.Get() << " ";
        getNumb.Remove(x);
    }
    in.close();
    out.close();
    return 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using namespace std;
 
template <class Item>
class List
{
private:
    struct Element
    {
        Item inf;
        Element *next;
        Element(Item x) : inf(x), next(0) {}
    };
    Element *head;
    int size;
    Element *Find(int index)
    {
        if ((index < 1) || (index > size))
        {
            return 0;
        }
        else
        {
            Element *cur = head;
            for (int i = 1; i < index; i++)
            {
                cur = cur->next;
            }
            return cur;
        }
    }
public:
    List() : head(0), size(0) {}
    ~List()
    {
        while (!Empty())
            Remove(1);
    }
    bool Empty()
    {
        return head == 0;
    }
    int GetLength()
    {
        return size;
    }
    Item Get(int index)
    {
        if ((index < 1) || (index > size))
        {
            return 0;
        }
        else
        {
            Element *r = Find(index);
            Item i = r->inf;
            return i;
        }
    }
    void Insert(int index, Item data)
    {
        if ((index < 1) || (index > size + 1))
        {
            return;
        }
        else
        {
            Element *newPtr = new Element(data);
            size = GetLength() + 1;
            if (index == 1)
            {
                newPtr->next = head;
                head = newPtr;
            }
            else
            {
                Element *prev = Find(index - 1);
                newPtr->next = prev->next;
                prev->next = newPtr;
            }
        }
    }
    void Remove(int index)
    {
        if ((index < 1) || (index > size))
        {
            return;
        }
        else
        {
            Element *cur;
            --size;
            if (index == 1)
            {
                cur = head;
                head = head->next;
            }
            else
            {
                Element *prev = Find(index - 1);
                cur = prev->next;
                prev->next = cur->next;
            }
            cur->next = 0;
            delete cur;
        }
    }
    void Print()
    {
        for (Element *cur = head; cur != 0; cur = cur->next)
        {
            out << cur->inf << " ";
        }
        out << endl;
    }
};
не знаю,как занести числа в список,т.е. там нужен индекс(где начать вносить)
Потом проблемы с удалением числа,как отсчитать индекс числа "x"
И с заполнением списка

Добавлено через 6 минут
C++
1
2
3
4
while (in >> i)
    {
        getNumb.Get(i);
    }
над заменить вроде

C++
1
2
3
4
5
6
while (!getNumb.Empty())
    { 
        if (x != getNumb.Insert())
            out << getNumb.Insert() << " ";
        getNumb.Remove(x);
    }
воот

Добавлено через 9 минут
всё равно не придумал,как отследить "x"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 14:23     Создать список из целых чисел. Исключить из списка все элементы, равные х
Посмотрите здесь:
C++ Исключить из списка целых чисел все элементы, равные х
Создать список из целых чисел. Найти минимальный элемент и удалить из списка все элементы равные минимальному C++
Создать список действительных чисел. Удалить четные элементы списка и перемножить все положительные нечётные C++
Создать список целых чисел. Создать новый список, записав в него отрицательные элементы C++
Удалить из списка целых чисел все парные элементы, посчитав их количество C++
C++ Создать два списка и все нечетные элементы списков переместить в третий список
C++ Создать список из целых чисел, найти в нем максимальный и минимальный элементы и их индексы
C++ Перенести в конец списка все элементы, равные нулю
C++ Из заданного массива целых чисел, который представлен в виде связанного списка, удалить все нулевые элементы, если они существуют
C++ Дан двумерный массив целых чисел. В пятой строке имеются элементы, равные 13!
C++ Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;
C++ Создать динамический список из случайных целых чисел?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
afront
795 / 757 / 287
Регистрация: 29.02.2016
Сообщений: 2,409
23.06.2016, 14:28     Создать список из целых чисел. Исключить из списка все элементы, равные х #2
Связный список. Необходимо создать новый связный список только из положительных элементов
Bob103
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 211
Завершенные тесты: 2
23.06.2016, 14:30  [ТС]     Создать список из целых чисел. Исключить из списка все элементы, равные х #3
Там Си(
Blekzet
3 / 3 / 0
Регистрация: 21.12.2015
Сообщений: 118
23.06.2016, 14:35     Создать список из целых чисел. Исключить из списка все элементы, равные х #4
Bob103, Ну так почитай, подумай. Придумай как это "перефразировать" и т.д. :3
Yandex
Объявления
23.06.2016, 14:35     Создать список из целых чисел. Исключить из списка все элементы, равные х
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru