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

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

Войти
Регистрация
Восстановить пароль
 
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
#1

list. Cоздать список из результатов(с массивами), а потом просмотреть весь список - C++

28.12.2012, 14:41. Просмотров 482. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста как мне создать список из моих результатов(с массивами)
а потом просмотреть весь список, вот код который имеется

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
# include <iostream>
# include <list>
using namespace std;
 
struct Number
{
    int res[500];
};
 
list<Number> nms;
 
class Run
{
int a, b, number;
int res[500];
public:
    int result, size;
    bool toNewSystem(unsigned int sys, int num)
    {
        Number nm;
        int i;
        for(i = 0; num >= sys; i++)
        {
            nm.res[i] = num % sys;
            num = num / sys;
        }
        nm.res[i] = result;
        if(i > 2)
        return false;
        else {size++; nms.push_back(nm); return true;}
    }
    void show()
    {
        for(int i = 0; i <= size; i++)
            nms.pop_back();
    }
    Run(){size = number = result = 0;}
};
 
int main()
{
    Run run;
    for(int i = 0; run.toNewSystem(5, i); ++i);
    run.show();
    cout << run.size << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2012, 14:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос list. Cоздать список из результатов(с массивами), а потом просмотреть весь список (C++):

Упорядочить список студентов по среднему баллу и вывести весь список - C++
форумчане,выдает ошибку :( столько маюсь с задачей уже #include &lt;vcl.h&gt; #include &lt;stdio.h&gt; #pragma hdrstop /*Упорядочить список...

Cоздать класс-шаблон, реализующий односвязный список - C++
Помогите новичку, пожалуйста, с такой задачей: необходимо создать класс-шаблон, реализующий односвязный список, а потом проверить его с...

Просмотреть список драйверов, установленых на ноуте - C++
Ребят нужна помощь. Нужно написать програму для вывода списка установленых драйверов. Что-то вот сам пробывал но не получилось. ...

Напишите функцию, удаляющую весь список - C++
Напишите функцию, удаляющую весь список. Не могу сделать задачу.Хелпните плиз

Однонаправленный список list - C++
. Класс - однонаправленный список list. Дополнительно перегрузить следующие операции: + - добавить элемент в начало (list + item); -...

List -- динамический список - C++
В поисках теории чёткого понятия я не нашёл. Более того в разных источниках по разному трактуют, но полного объяснения свойств этого...

4
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
28.12.2012, 15:01 #2
Цитата Сообщение от !Андрей! Посмотреть сообщение
C++
1
Run(){size = number = result = 0;}
неверная запись.
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
28.12.2012, 15:17 #3
Afflicted, в каком месте она не верная?

!Андрей!, изложите конкретней, что именно нужно сделать?
0
Learx
1035 / 842 / 86
Регистрация: 31.03.2010
Сообщений: 2,465
28.12.2012, 15:57 #4
как-то так(написал с ходу за ошибки не ручаюсь)
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
# include <iostream>
# include <list>
using namespace std;
 
typedef list<int> list_int;
list< list_int > nms;
 
class Run
{
int a, b, number;
int res[500];
public:
    int result, size;
    bool toNewSystem(unsigned int sys, int num)
    {
        list<int> nm;
        int i;
        for(i = 0; num >= sys; i++)
        {
            nm.push_back(num % sys);
            num = num / sys;
        }
        nm.push_back(result);
        if(i > 2)
        return false;
        else {size++; nms.push_back(nm); return true;}
    }
    void show()
    {
        for(int i = 0; i <= size; i++)
            nms.pop_back();
    }
    Run(){size = number = result = 0;}
};
 
int main()
{
    Run run;
    for(int i = 0; run.toNewSystem(5, i); ++i);
    run.show();
    cout << run.size << endl;
    for (std::list<list_int >::iterator it=nms.begin(); it != nms.end(); ++it)
         for (std::list<int>::iterator tt = it->begin(); tt != it->end(); ++tt)
             std::cout << ' ' << *tt;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
описание библиотек
0
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
29.12.2012, 14:38  [ТС] #5
Вопрос
Learx, спасибо! Примерно разобрался. Вопрос ещё такой остался: как я могу непосредственно впихивать числа в массив который будет храниться в структуре, а структура в списке. Примерно:

C++
1
2
3
4
5
6
7
8
9
10
11
struct Numb
{
   int res[500];
....
};
 
list<Numb> nmb;
//запись
...условия и т.п.
что-то типа:
nmb.res[i] = ....;
Добавлено через 59 минут
Проблему решил так, вопрос остался только в красивом выводе, почему-то не хочет работать=/
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
# include <iostream>
# include <list>
using namespace std;
 
typedef list<int> list_int;
list< list_int > nms;
 
struct Number
{
    int defaultNum;
    int result[4];
};
list <Number> nmb;
 
class Run
{
    int a, b, number;
    int res[500];
public:
    int result, size;
    bool toNewSystem(unsigned int sys, int num)
    {
        Number temp;
        list<int> nm;
        int i;
        for(i = 0; num >= sys && i <= 2; i++)
        {
            temp.result[i] = num % sys;
            nm.push_back(num % sys);
            num = num / sys;
        }
        if(i > 2)
            return false;
        temp.result[i] = result;
        temp.result[i+1] = '\0';
        nmb.push_back(temp);
        {size++; nms.push_back(nm); return true;}
    }
    void show()
    {
        cout << size << endl << endl;
        for(list<Number>::iterator it = nmb.begin(); it!=nmb.end(); it++)
        {
            for(int i = 0; it->result[i+1] != '\0'; i++)
                cout << it -> result[i] << " ";
        cout << endl;
        }
    }
        Run(){size = number = result = 0;}
    };
 
    int main()
    {
        Run run;
        for(int i = 1; run.toNewSystem(5, i); ++i);
        run.show();
        cout << endl;
        system("pause");
        return 0;
    }
Добавлено через 44 минуты
решил так, можно закрывать
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
# include <iostream>
# include <list>
# include <iomanip>
using namespace std;
 
typedef list<int> list_int;
list< list_int > nms;
 
struct Number
{
    int size;
    int defaultNum;
    int result[3];
};
list <Number> nmb;
 
class Run
{
public:
    int result, size;
    bool toNewSystem(unsigned int sys, int num)
    {
        Number temp;
        for(int i = 0; i < 3; i++)
            temp.result[i] = 0;
 
        int defNum = num;
        int i;
        for(i = 0; num >= sys; i++)
        {
            temp.result[i] = num % sys;
            num = num / sys;
            if(i >= 2) return false;
        }
        
        temp.result[i] = num;
        temp.size = 2;
        temp.defaultNum = defNum;
        swap(temp.result, 2);
        nmb.push_back(temp);
        return true;
    }
    void swap(int *arr, int size)
    {
     for(int i = 0,  j = size; i < j; ++i, --j) {
 
       int temp = arr[i];
       arr[i] = arr[j];
       arr[j] = temp;
     }
    }
    void show()
    {
        cout <<  nmb.size() << " - numbers" << endl << endl;
        for(list<Number>::iterator it = nmb.begin(); it!=nmb.end(); it++)
        {
            cout << setw(3) << it -> defaultNum << " = ";
            for(int i = 0; i <= it -> size; i++)
                cout << it -> result[i];
            cout << endl;
        }
    }
    Run(){result = 0;}
};
 
int main()
{
    Run run;
    for(int i = 1; run.toNewSystem(5, i); ++i);
    run.show();
    cout << endl;
    system("pause");
    return 0;
}
0
29.12.2012, 14:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2012, 14:38
Привет! Вот еще темы с ответами:

Создать циклический список list - C++
Доброго времени суток. подскажите как list сделать циклическим. допустим у нас есть list &lt;int&gt; l состоящий из 10 элементов. Нам...

Связанный список (Linked list). - C++
Добрый день. Вот пишу функцию (в коде название - smash), которая бы из текущего списка создавала 2 других: парные числа и непарные, но...

Список с пропусками (Skip List) - C++
Ребят, выручайте!) пытаюсь разобраться с реализацией этих списков. Сама структура данных понятна, алгоритм поиска и добавления тоже...

Внесение обїекта в список <list> STL - C++
Доброго времени суток! Прошу помощи в решении следующего вопроса Идея такая: 1. Создаю класс class cStatic { public: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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