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

Построить список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввести с клавиатуры строку символов и обработать ее http://www.cyberforum.ru/cpp-beginners/thread383648.html
Здравствуйте! помогите пожалуйста со строками в С++! Ввести с клавиатуры строку символов и обработать ее в соответствии со своим вариантом, используя функции: 1.Формирование,печать и обработку массивов и строк оформить в виде функции. Массивы передавать как параметры функций. 2.Ввод/вывод строк организовать с помощью функций: char* gets(char*s) int puts(char*s) 3.Для обработки строк...
C++ Удалить все гласные буквы из строки Здравствуйте,помогите составить программу!!! Нужно удалить все глассные буквы из строки используя функции: 1.Формирование,печать и обработку массивов и строк оформить в виде функции. Массивы передавать как параметры функций. 2.Ввод/вывод строк организовать с помощью функций: char* gets(char*s) int puts(char*s) 3.Для обработки строк использовать стандартные функции из библиотечного файла... http://www.cyberforum.ru/cpp-beginners/thread383647.html
Написать функцию вещественного типа, находящую максимальное из трех вещественных чисел C++
Написать функцию Max3(A,B,C) вещественного типа, находящую максимальное из трех вещественных чисел A, B и C. С помощью этой функции найти максимальные из наборов (A,B,C), (A,B,D), (A,C,D), если даны числа A, B, C, D.
C++ Ошибка при компиляции
При компиляции программы борланд выдает ошибку Unresolved external '_main' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0X32.OBJ.Подскажите как решить эту проблему. приведу код: #include <iostream> using namespace std; int main() { void PC_dinamik (bool bOn) { switch (bOn) {
C++ Написать программу, которая находит заданное количество чисел, являющихся квадратами натуральных чисел, и выводит их на экран. Проверку "квадрат – не http://www.cyberforum.ru/cpp-beginners/thread383612.html
Написать программу, которая находит заданное количество чисел, являющихся квадратами натуральных чисел, и выводит их на экран. Проверку "квадрат – не квадрат" оформить в виде функции. Вообщем думаю задача ясна... Всем сделавшим даю пасипку=))
C++ Проблема с strlen Доброго времени суток. При подсчете длин строки strlen считает до 1 пробела, в итоге в 2 строке только 1 слово из 1 строки. В чем может быть проблема? VS 2008 ED #include <iostream> #include <string> using namespace std; int main() { подробнее

Показать сообщение отдельно
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
15.11.2011, 13:30     Построить список
вот почти готовая программа. надо добавить функцию удаления элемента после отрицательного, по желанию сделать инициализацию stdin и обработать исключение "если список пустой"
код программы
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct node
{
    int x;
    struct node *next;
};
 
struct node *create_list()
{
    struct node *tmp;
 
    tmp = (struct node*) malloc (sizeof(struct node));
    if (!tmp )
        exit ( -1 );
 
    tmp->x = rand() % 100 - 50;
    tmp->next = 0;
 
    return tmp;
}
 
void add_elements(struct node *pcurrent, int n)
{
    struct node *tmp;
 
    while (n--)
    {
        tmp = (struct node*) malloc(sizeof(struct node));
        if ( !tmp )
            exit ( -1 );
        tmp->x = rand() % 100 - 50;
        pcurrent->next = tmp;
        pcurrent = pcurrent->next;
    }
    pcurrent->next = 0;
}
 
void free_list(struct node *phead)
{
    struct node *tmp = phead, *current = phead;
 
    while (current)
    {
        tmp = current;
        current = current->next;
        free(tmp);
    }
}
 
void print_list(struct node *pcurrent, struct node *phead)
{
    pcurrent = phead;
 
    while(pcurrent)
    {
        printf("%d ", pcurrent->x);
        pcurrent = pcurrent->next;
    }
}
 
struct node *findandel_max(struct node *pcurrent, struct node *phead)
{
    struct node *tmp;
    int max = -1000;
    pcurrent = phead;
 
    while(pcurrent)
    {
        if ( max < (pcurrent->x) )
            max = pcurrent->x;
        pcurrent = pcurrent->next;
    }
 
    pcurrent = phead;
    while ( (pcurrent->x) != max )
        pcurrent = pcurrent->next;
 
    if (pcurrent == phead)
    {
        phead = pcurrent->next;
        free(pcurrent);
    }
    else if ((pcurrent->next) == 0)
        puts("максимальный элемент списка последний в списке");
    else
    {
        tmp = (pcurrent->next)->next;
        free(pcurrent->next);
        pcurrent->next = tmp;
    }
 
    return phead;
}
 
int main()
{
    struct node *head, *current;
    srand(time(0));
 
    head = create_list();
    current = head;
    add_elements(current, 15);
    print_list(current, head);
    puts("");
    head = findandel_max(current, head);
    print_list(current, head);
    
    free_list(head);
    return 0;
}
 
Текущее время: 10:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru