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

Динамическое распределение памяти - C++

Восстановить пароль Регистрация
 
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.09.2013, 17:57     Динамическое распределение памяти #1
Столкнулся со следующей задачей:
Создать список, элементами которого являются целые числа. Данные формируются случайным образом. Данные вводить до тех пор, пока сумма не превышает число, введенное с клавиатуры. Распечатать список в первоначальном виде.

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 <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
struct list 
{   int dat;
    struct list *next;
};
typedef list *P_list;
int main()
{   int N,i,x;
    P_list pb;
    P_list pt;
 
    time_t t;
    srand (time(&t));
    N=rand()%10;
    cout <<" x=";
    cin >> x;
 
    pb= new list;   
    pb->dat = rand()%100;   
    pt=pb;      
    for (i=1;i<N;i++)   
    {   pt->next= new list;
        pt=pt->next;       
        pt->dat = rand()%100;    
    }                   
    pt->next=NULL;          
    
    cout<<endl;
    for (pt=pb,i=1; pt!= NULL ;i++)
    {   cout<< pt->dat; 
        pt=pt->next;     
        if (i%10==0) cout<<endl;      
        else cout<<"\t";
    }
    cout<< endl;
    }
И собственно вопрос в том как реализовать вторую часть задания( с суммой) не понимаю как сделать
Подскажите способ или код желательно с комментарием.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 17:57     Динамическое распределение памяти
Посмотрите здесь:

C++ Динамическое распределение памяти
C++ Динамическое распределение памяти
C++ Динамическое распределение памяти
C++ Динамическое распределение памяти.
C++ Динамическое распределение памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 18:30     Динамическое распределение памяти #2
Цитата Сообщение от wankstahamsta Посмотреть сообщение
И собственно вопрос в том как реализовать вторую часть задания( с суммой) не понимаю как сделать
У вас, здесь, разве не то же самое делается?
C++
1
2
3
4
5
for (i=1;i<N;i++)   
    {   pt->next= new list;
        pt=pt->next;       
        pt->dat = rand()%100;    
    }
Осталось только N ввести с клавиатуры.
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.09.2013, 18:40  [ТС]     Динамическое распределение памяти #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Осталось только N ввести с клавиатуры.
Ну в этом фрагменте создается список.
Не понимаю как его связать с заданием.
Если честно я само задание не очень понял с этой суммой.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 18:50     Динамическое распределение памяти #4
Это ввод данных?
C++
1
pt->dat = rand()%100;
Посчитывайте сумму dat, когда станет больше, чем та, которая была введена в клавиатуры, то выход из цикла.
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.09.2013, 18:51  [ТС]     Динамическое распределение памяти #5
Число элементов N создается рандомно от 2 до 10
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 19:04     Динамическое распределение памяти #6
Вводите N c клавиатуры, в задании, насколько я понял, речь не о количестве элементов идёт, а о сумме значений элементов.

Добавлено через 2 минуты
Хотя может о сумме элементов.

Не по теме:

Добавлено через 1 минуту
Вообщем, как хочешь, так и понимай! Вот уж задания...



Добавлено через 2 минуты

Не по теме:

Особенно вот это наравится:

Цитата Сообщение от wankstahamsta Посмотреть сообщение
Распечатать список в первоначальном виде.
Что за "первоначальный вид"?



Добавлено через 1 минуту
Напишите два варианта: один с подсчётом количества элементов, один с подсчётом суммы значений элементов.
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.09.2013, 19:07  [ТС]     Динамическое распределение памяти #7
Вот вот, такие же затруднения возникли.Не понимаю что от меня хотят.Самому интересно что это за "первоначальный вид"!

Добавлено через 2 минуты
Зачем мне вводить N с клавиатуры, если сказано что данные формируются случайным образом?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 19:45     Динамическое распределение памяти
Еще ссылки по теме:

Динамическое распределение памяти C++
Динамическое распределение памяти C++
Динамическое распределение памяти C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 19:45     Динамическое распределение памяти #8
Так то данные (значения элементов), а N, у вас в коде, количество элементов списка.

Добавлено через 3 минуты
Только сейчас обратил внимание на название темы:
Цитата Сообщение от wankstahamsta Посмотреть сообщение
Динамическое распределение памяти
Это каким боком к вашему коду относится?
Yandex
Объявления
12.09.2013, 19:45     Динамическое распределение памяти
Ответ Создать тему
Опции темы

Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru