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

Односвязные списки, стек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как убрать окно консоли http://www.cyberforum.ru/cpp-beginners/thread28971.html
Всем привет! Посмотрите как можно убрать черное окно чтобы осталась только окно диалога....
C++ Посоветуйте задачу к курсовой. Одномерные массивы и указатели Если у кого-нибудь есть программа на одномерные массивы пожалуйста скиньте код + если у вас есть блок схемы. Ещё если не трудно с пояснениями. Вообще прога должна быть не простой, скажу так - какая-то замысловатая, ну чтобы для курсовой подошла Всем ответившим спасибо :) http://www.cyberforum.ru/cpp-beginners/thread28967.html
Несоставляемое число C++
Подскажите решение плииз.... Дано N натуральных чисел. Требуется найти минимальное натуральное число, не представимое суммой никаких из этих чисел, если в эту сумму каждое исходное число может входить не более одного раза. Входные данные Входной файл INPUT.TXT в первой строке содержит натуральное число N, не превосходящее 104, далее следуют N строк, в каждой из которых записано по одному...
вывод в файл таблицы C++
Привет всем. Помогите пожалуйста с курсовой, мне нужно написать программу на языке С для вывода в файл таблицы значений функции. Аргумент функции t должен принимать значения от 0 до +2п с шагом дельта t = п/20. 2 пособия пересмотрел, ничего подобного не увидел, даже намёка на данную работу... за рание спасибо.
C++ "Присоединить" DLL http://www.cyberforum.ru/cpp-beginners/thread28943.html
Я написал программу используя wxWidgets и Code::Blocks, скомпилировал ее под windows (компилятор - mingw). При запуске она требует wxmsw28u_gcc.dll. Вопрос в следующем, возможно ли сделать так, чтобы эта библиотека интегрировалась в исполняемый файл программы, чтобы не было необходимости носить ее отдельным файлом? Если да, то как? PS: Не судите строго если вопрос дурацкий, я только учусь...
C++ Списки Помогите плиз со спиками. Есть иерархия класов, надо ее прогнать через список. Вот что у меня есть, в main все застряло: #include <iostream.h> #include <conio.h> const int len=80; class persona { private: char name; unsigned long num; подробнее

Показать сообщение отдельно
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
10.04.2009, 22:51     Односвязные списки, стек
Вариант на Си.
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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct list {
    int number;
    struct list *next;
} List;
 
List *addlist(List *, int);
int findnums(List *, int *);
void printlist(List *, int);
List *dellist(List *, int);
 
main()
{
    int num, delnum, k;
    List *np;
    
    np = NULL;
    printf("Enter nums:\n");
    /* заполнение списка числами */
    while(scanf("%d", &num) != EOF)
       np = addlist(np, num);
    /* печать значений списка */
    printf("\nList:\n");
    printlist(np, 0);
    
    delnum = findnums(np, &k);   /* поиск самых встречаемых значений */
    while(k-- > 0)
       np = dellist(np, delnum);   /* удаление этих значений из списка */
    /* печать нового списка */
    printf("\nNew list:\n");
    printlist(np, 0);
    
    system("pause");
    return 0;
}
 
/* добавляет элемент списка */
List *addlist(List *np, int num)
{
    if(np == NULL) {
       if( (np = (List *)malloc(sizeof(*np))) == NULL) {
          printf("error: can't allocate memory for element of list\n");
          return NULL;
       }
       np->number = num;
       np->next = NULL;
    } else
       np->next = addlist(np->next, num);
    return np;
}
 
/* ищет самое часто встречаемое значение*/
int findnums(List *list, int *k)
{
    List *p, *q;
    int tmpnum,   //значение
        freqnum,  //макс. встречаемое значение
        nfreq,    //сколько раз встретилось значение 
        maxfreq = 0;   //максимальное число "встреч" на одно значение
    
    if(list == NULL)
       return EOF;
    for(p = list; p != NULL; p = p->next) {
       tmpnum = p->number;  
       nfreq = 0;
       for(q = list; q != NULL; q = q->next)
          if(tmpnum == q->number)
             nfreq++;
       if(nfreq > maxfreq) {
          *k = maxfreq = nfreq;
          freqnum = tmpnum;
       }
    }
    return freqnum;
}
       
/* удаляет элемент списка, в котором содержится значение num */
List *dellist(List *list, int delnum)
{
    List *p_cur, *p_prev = NULL;       
       
    for(p_cur = list; p_cur != NULL; p_prev = p_cur, p_cur = p_cur->next)
       if(p_cur->number == delnum) {
          if(p_prev == NULL) {
             p_prev = p_cur->next;
             free(p_cur);
             return p_prev;
          } else {
             p_prev->next = p_cur->next;
             free(p_cur);
             return list;
          }
       }
}
 
/* выводит список */
void printlist(List *np, int i)
{    
    if(np != NULL) {
       printf("#%d: %d\n", i, np->number);
       printlist(np->next, ++i);
    }
}
Экзешник.
Вложения
Тип файла: rar List.rar (6.5 Кб, 53 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru