Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
!Андрей!
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
#1

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

28.12.2012, 14:41. Просмотров 520. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

List -- динамический список
В поисках теории чёткого понятия я не нашёл. Более того в разных источниках по...

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

!Андрей!, изложите конкретней, что именно нужно сделать?
0
Learx
1045 / 852 / 194
Регистрация: 31.03.2010
Сообщений: 2,486
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 / 1
Регистрация: 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
. Класс - однонаправленный список list. Дополнительно перегрузить следующие...

Создать циклический список list
Доброго времени суток. подскажите как list сделать циклическим. допустим у нас...

Связанный список (Linked list).
Добрый день. Вот пишу функцию (в коде название - smash), которая бы из...


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

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

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