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

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

Войти
Регистрация
Восстановить пароль
 
Tachilka
3 / 3 / 0
Регистрация: 13.10.2010
Сообщений: 17
#1

Найти min число в списке(Динамическая память) - C++

18.11.2010, 15:06. Просмотров 426. Ответов 1
Метки нет (Все метки)

Всем привет!! Очень прошу помочь мне с заданием. Спасибо.
Написать программу, которая размещает в динамической памяти данные − действительные числа − в виде списка. Список создается путем последовательного добавления новых элементов в конец (или начало) списка (окончание ввода определяется отдельным запросом). Программа должна вывести весь список на экран и, кроме того найти минимальное число, содержащееся в списке.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2010, 15:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти min число в списке(Динамическая память) (C++):

Статическая память,Динамическая память. - C++
a) Статическая память. Двумерный массив. Дан массив целых чисел. В массиве есть отрицательные числа. Определить координаты левого нижнего...

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

Динамическая память - C++
Всем привет!!! взникла проблема с выполнением строки K=A++; при выполнении printf("\n__________ %d\n",K.gasaaa()); получаю левые...

Динамическая память - C++
Дано натуральное число n и целые числа{a}_{1},{a}_{2},...,{a}_{n}. Выяснить, есть ли среди цифр {a}_{1},{a}_{2},...,{a}_{n}совпадающие и...

Динамическая память с++ - C++
Как использовать динамическую память в с++

динамическая память.... - C++
Ввести двухмерном массив, для работы с массивом использовать указатель. Массив разместить в динамической памяти. Определение суммы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9627 / 5575 / 947
Регистрация: 25.07.2009
Сообщений: 10,710
18.11.2010, 17:29 #2
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <stdio.h>
#include <stdlib.h>
 
typedef struct tagNODE {
    double value;
    struct tagNODE * next;
} node_t;
 
typedef struct tagLIST {
    node_t * first;
    node_t * last;
} list_t;
 
int add_node(list_t * list, double value){
    node_t * node;
    
    if ( ( node = (node_t*)malloc(sizeof(node_t)) ) == NULL )
        return -1;
    
    node->value = value;
    node->next = NULL;
    
    if ( ! list->first )
        list->first = node;
    else
        list->last->next = node;
    list->last = node;
    
    return 0;
}
 
void clear_list(list_t * list){
    while ( list->first ){
        list->last = list->first->next;
        free(list->first);
        list->first = list->last;
    }
}
 
node_t * min_node(const list_t * list){
    node_t * curNode, * minNode;
    
    if ( ! list || ! list->first )
        return 0;
        
    minNode = list->first;
    for ( curNode = list->first->next; curNode; curNode = curNode->next )
        if ( curNode->value < minNode->value )
            minNode = curNode;
    
    return minNode;
}
 
void print_list(const list_t * list){
    node_t * node;
    
    if ( ! list || ! list->first )
        return;
        
    for ( node = list->first; node; node = node->next )
        printf("%.1f ", node->value);
}
 
int main(void){
    list_t list = { .first = NULL, .last = NULL };
    double value;
    char buf[BUFSIZ];
    
    printf("Enter some values one by line. Empty line - finish.\n");
    while ( printf("> ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
        if ( add_node(&list, atof(buf)) ){
            fprintf(stderr, "Can't add new node!\n");
            exit(1);
        }
    }
    
    if ( ! list.first ){
        fprintf(stderr, "List is empty!\n");
        exit(1);
    }
    
    printf("\nAll nodes:\n");
    print_list(&list);
    printf("\nThe minimum value is %.1f\n", ( min_node(&list) )->value);
    
    clear_list(&list);
    exit(0);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2010, 17:29
Привет! Вот еще темы с ответами:

Динамическая память C++ - C++
Народ, подскажите, плиз, что я делаю не так? Надо посимвольно ститать строку, в процессе выделяя ей ровно столько памяти, сколько...

Динамическая память - C++
Добрый вечер! Возникла у меня такая проблемка, нужно от статической памяти перейти к динамической. То ли уже голова не варит, то ли руки не...

Динамическая память - C++
Каким способом можно задать динамическую память , кроме как через new ?

Динамическая память - C++
Создать одномерный массив в котором хранятся года рождения людей (года вводятся в массив в ручную, размер массива не менее 5). Определить...


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

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

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