Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
2 / 2 / 0
Регистрация: 24.01.2012
Сообщений: 96
1

Заполнение списка рандомными целыми числами

15.09.2015, 22:46. Просмотров 2944. Ответов 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
49
50
51
#include <iostream>
#include <ctime>
 
using namespace std;
 
integer_numders* first = NULL;
 
struct integer_numders {
    int a;
    integer_numders* next;
};
 
void In(integer_numders** first){
    integer_numders*first = new integer_numders;
 
    (*first)->next = NULL;
    integer_numders *end = *first;
 
    for (int i(0); i < 10; i++)
    {
        end->next = new integer_numders;
        end = end->next;
        end->a = rand() %2+ 1001;
        end->next = NULL;
    }
 
}
 
void Print(integer_numders* b){
 
    integer_numders* print=b;
 
    while (print){
        cout << print->a;
        print = print->next;
 
    }
}
 
int main(){
 
    setlocale(LC_ALL, "rus");
 
    integer_numders *current = first;
 
    In(&first);
    Print(first);
 
    system("pause");
    return 0;
}
На выходе получаю постороннее число (-8 с чем-то, как при выводе пустой ячейки). Списки только начал изучать, почти ничего не понимаю.
И если знаете, не могли бы кинуть уроки или статьи, разобранные задачи на русском на тему списков, чтобы без использования классов. Сам Гугл уже перерыл.
Заранее всем спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2015, 22:46
Ответы с готовыми решениями:

Заполнение массива рандомными числами
Здравствуйте! Нужно заполнить массив float рандомными числами от 0.3 до 0.9 #define MIN 0.3...

Заполнение матрицы рандомными числами
Подскажите пожалуйста.как правильно сделать,что бы матрица заполнялась автоматически рандомными...

Заполнение массива рандомными числами
Мне необходимо создать массив из 20000 элементов порядок элементов по возрастанию и по убыванию....

Заполнение двумерного массива рандомными числами
Здравствуйте! Стоит задача заполнить двумерный массив случайными значениями, для этого я...

4
lss
935 / 863 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
16.09.2015, 00:27 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void In(integer_numders** first){
    *first = new integer_numders;
    (*first) ->a = rand() %2 + 1001;
    (*first)->next = NULL;
    
    integer_numders *end = *first;
    for (int i(0); i < 10; i++)
    {
        end->next = new integer_numders;
        end = end->next;
        end->a = rand() %2 + 1001;
        end->next = NULL;
    }
}
1
2 / 2 / 0
Регистрация: 24.01.2012
Сообщений: 96
16.09.2015, 15:08  [ТС] 3
Добавлено через 41 секунду
lss, к сожалению, результат такой же
0
lss
935 / 863 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
16.09.2015, 18:21 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
49
#include <iostream>
#include <ctime>
 
using namespace std;
 
struct integer_numders {
    int a;
    integer_numders* next;
};
 
integer_numders* first = NULL;
 
void In(integer_numders** first){
    *first = new integer_numders;
    (*first) ->a = rand() %2 + 1001;
    (*first)->next = NULL;
    
    integer_numders *end = *first;
    for (int i(0); i < 10; i++)
    {
        end->next = new integer_numders;
        end = end->next;
        end->a = rand() %2 + 1001;
        end->next = NULL;
    }
}
void Print(integer_numders* b){
 
    integer_numders* print=b;
 
    while (print){
        cout << print->a << ' ';
        print = print->next;
 
    }
}
 
int main(){
 
    setlocale(LC_ALL, "rus");
 
    integer_numders *current = first;
 
    In(&first);
    Print(first);
 
    system("pause");
    return 0;
}
1
Миниатюры
Заполнение списка рандомными целыми числами  
2 / 2 / 0
Регистрация: 24.01.2012
Сообщений: 96
16.09.2015, 18:34  [ТС] 5
lss, вот скопировав полностью ваш код, всё собралось нормально.
Спасибо вам большое.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2015, 18:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнение массива рандомными числами без повторений
Здравствуйте! Пытаюсь заполнить массив рандомными числами без повторений, в коде есть проверка на...

Заполнение элементов вектора рандомными числами без повторений
Требуется заполнить 15 элементов вектора числами с 1 до 15, а последний элемент нулем Главное,...

Заполнение файла n целыми случайными числами в интервале [-54, 33]
Заполнить файл n целыми случайными числами в интервале . Вывести содержимое файла на экран и...

Заполнение матрицы целыми числами с помощью генератора случайных чисел
1.Матрицу 8*8 заполнить целыми числами с помощью генератора случайных чисел. 2.Найти определитель....


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

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

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