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

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

Войти
Регистрация
Восстановить пароль
 
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
#1

Заполнить двусвязный список случайными числами - C++

06.12.2013, 20:13. Просмотров 1105. Ответов 7
Метки нет (Все метки)

Здравствуйте, нужно создать и заполнить двусвязный список случайными числами (int).
Пытаюсь создать обычный массив,а потом заполнить список оттуда числами, но что-то не работает.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 20:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнить двусвязный список случайными числами (C++):

Как заполнить список (QListWidget) случайными числами? - C++
Как заполнить список (QListWidget) случайными числами? Пробовал как-то так: srand(time(NULL)); int random_value = rand() % 100; ...

Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран - C++
Помогите пж. Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран. А все четные числа из списка удалить....

Заполнить матрицу случайными числами - C++
Заполнить матрицу случайными числами. Показать главную и побочную диагонали симметрично относительно вертикальной оси.Помогите пожалуйста!!!

Заполнить контейнер случайными числами - C++
ТОлько начинаю свой тернистый путь, многие с этого начинали так что не надо судить строго мой нубовский код! идея такова что бы контейнер...

Заполнить массивы случайными числами - C++
я "типа" написал программку умножающую два массива, но мне нужно чтоб массивы А и В заполнились случайными числами от нуля до десяти....

Заполнить массив случайными числами - C++
Помогите, пожалуйста, как заполнить массив случайными числами в диапазоне от -20 до 20.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 20:42 #2
Цитата Сообщение от Looter Посмотреть сообщение
Пытаюсь создать обычный массив,а потом заполнить список оттуда числами,
Массив для этого не нужен.
0
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 21:05  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Массив для этого не нужен.
А как еще можно рандомно заполнить? Напишите если не сложно.
0
ValeryS
Модератор
6634 / 5041 / 466
Регистрация: 14.02.2011
Сообщений: 16,851
06.12.2013, 21:12 #4
Цитата Сообщение от Looter Посмотреть сообщение
А как еще можно рандомно заполнить?
да очень просто
генеришь число и добавляешь его в список
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 21:16 #5
http://www.cyberforum.ru/search.php?searchid=6884157
Очереди и Двусвязные списки!
0
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 21:42  [ТС] #6
Там в основном все через функции и процедуры.
Что-то такое получилось, но некторые указатели почему-то не создаются.
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
#include "stdafx.h"
#include "stdlib.h"
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
int main(){
    node *head = 0;
    node *tail = 0;
    node *n = 0;
    int i = 0;
    
    n = new node;
    n->data = rand()%100;
    n->prev = NULL;
    head = n;
    tail = n;
    while (i<size-2){
        n = new node;
        n->data = rand()%100;
        n->prev = tail;
        tail->next = n;
        tail = n;
        i++;
    }
 
 
    n = new node;
    n->data = rand()%100;
    n->prev = tail;
    //tail->next = n;
    tail = n;
    tail->next = NULL;
 
    
    return 0;
}
0
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.12.2013, 22:38 #7
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
#include <iostream>
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
 
 
int main()
    {
    node *head = NULL;
    node *tail = NULL;
    node * Curr = NULL;
    int i = 0;
    
    while ( i < size )
        {
           // Create NEW Node
            Curr = new node;
            Curr->data = rand() % 100 + 1;
            Curr->prev = NULL;
            Curr->next = NULL;
 
            // Fill
     if(head == NULL)
          head = tail = Curr;
        else
        {
            tail->next = Curr;
            Curr->prev = tail;
            tail = Curr;
        }           
            i++;
       }
 
    // Print List
        Curr = head;
       while(Curr)
        {
            std::cout << Curr->data << std::endl;
            Curr = Curr->next;
        }
 
      // Delete   
       Curr = tail;    
        while(Curr)
        {         
            node *  tmp = Curr;
            Curr = Curr->prev;          
            delete tmp;
        }
        head = tail = NULL;
 
    return 0;
}
1
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 23:00  [ТС] #8
Цитата Сообщение от MrCold Посмотреть сообщение
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
#include <iostream>
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
 
 
int main()
    {
    node *head = NULL;
    node *tail = NULL;
    node * Curr = NULL;
    int i = 0;
    
    while ( i < size )
        {
           // Create NEW Node
            Curr = new node;
            Curr->data = rand() % 100 + 1;
            Curr->prev = NULL;
            Curr->next = NULL;
 
            // Fill
     if(head == NULL)
          head = tail = Curr;
        else
        {
            tail->next = Curr;
            Curr->prev = tail;
            tail = Curr;
        }           
            i++;
       }
 
    // Print List
        Curr = head;
       while(Curr)
        {
            std::cout << Curr->data << std::endl;
            Curr = Curr->next;
        }
 
      // Delete   
       Curr = tail;    
        while(Curr)
        {         
            node *  tmp = Curr;
            Curr = Curr->prev;          
            delete tmp;
        }
        head = tail = NULL;
 
    return 0;
}
спасибо огромное, только head и tail у меня местами поменяны.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 23:00
Привет! Вот еще темы с ответами:

Заполнить матрицу случайными числами - C++
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки.

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

Заполнить строку случайными числами от 1 до 10 - C++
Задача состоит в заполнении строкового массива случайными числами. Вот что у меня #include &lt;iostream&gt; #include &lt;ctime&gt; using...

Заполнить матрицу случайными числами - C++
отобразить матрицу симметрично относительно главной диагонали


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2013, 23:00
Ответ Создать тему
Опции темы

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