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

Реализовать стек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Операции сдвига http://www.cyberforum.ru/cpp-beginners/thread360518.html
Помогите понять операции сдвига. Вот два примера левого и правого сдвига. 9 (base 10): 00000000000000000000000000001001 (base 2) -------------------------------- 9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10) 9 (base 10): 00000000000000000000000000001001 (base 2) ...
C++ комп. инженерия 1 курс, лабораторная Надо написать программу для решения такого: (1+1/1^2)(1+1/2^2)(1+1/3^2)...(1+1/n^2) не могу составить правильній алгоритм для решения задачи...помогите кто чем может (советом, или словами напишите, или блок-схему нарисуйте, или программку, а я тогда сама разберусь что это там написано, хоть буду знать как надо делать в следующий раз...) буду очень благодарна. http://www.cyberforum.ru/cpp-beginners/thread360513.html
помогите с оператором условия C++
вычислить номер дня в невисокосном году по заданным числу и месяцу на данный момент имею вот это: void main() { double x,y,a; { cout <<endl <<"введите число:"; cin >> x;
связный список , абстрактный тип данных C++
// Лаба№1 связный список.cpp: определяет точку входа для консольного приложения. /*Из данного списка спортсменов распечатать данные о тех из них, кто занимается плаванием. Указать возраст, сколько лет они занимаются спортом. Упорядочить по возрасту.*/ #include "stdafx.h" #include <iostream> // подключение библиотеки ввода-вывода #include <conio.h> // подключение библиотеки функций работы с...
C++ Вызов функций для ОБЪЕКТОВ !!! http://www.cyberforum.ru/cpp-beginners/thread360472.html
Если я таким образом буду вызывать функции для объектов a и b, то мне выдается правильно только сумма ,а все остальное считает не правильно, либо выводит значение a. Я не знаю как правильно вызывать другие функции для тех же объектов, т.е чтобы и разность, и умножение с делением работали. Помогите разобраться пожалуйста... int main() { complex a(2 , 2), b(1 , 1);
C++ Помогите с оператором условия столкнулся с проблемой когда начал изучать оператор условия в С++. Никак не могу разобраться как правильно написать программу. для системы из 2 выражений и уравнения. на данный момент имею только это. #include <iostream.h> #include <math.h> #include <conio.h> #define pi 3.14159265 void main() { int F; float x,y,z; подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
05.10.2011, 00:07     Реализовать стек
alkagolik, для стека односвязного списка достаточно
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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct STACKNODE {
    int value;
    struct STACKNODE * next;
} stacknode_t;
 
int push(stacknode_t ** stack, int value){
    stacknode_t * node;
    
    if ( ! ( node = malloc(sizeof(stacknode_t)) ) )
        return -1;
    
    node->value = value;
    node->next = *stack;
    *stack = node;
    
    return 0;
}
 
int pop(stacknode_t ** stack, int * value){
    stacknode_t * node;
    
    if ( *stack == NULL )
        return -1;
    
    node = (*stack)->next;
    *value = (*stack)->value;
    free(*stack);
    *stack = node;
    
    return 0;
}
 
int menu(void){
    int ret;
    
    printf("\n1 - push, 2 - pop, 0 - exit\n> ");
 
    return ( scanf("%d", &ret) == 1 ) ? ret : -1;
}
 
int main(void){
    stacknode_t * stack = NULL;
    int action, value;
    
    while ( action = menu() ){
        switch ( action ){
            case 1:
                printf("Value: ");
                if ( scanf("%d", &value) != 1 ){
                    scanf("%*s");
                    fprintf(stderr, "Input error!\n");
                    break;
                }
                if ( push(&stack, value) ){
                    fprintf(stderr, "Memory error!\n");
                    exit(1);
                }
                printf("Added to stack.\n");
                break;
            case 2:
                if ( pop(&stack, &value) ){
                    fprintf(stderr, "Empty stack or unknown error!\n");
                    break;
                }
                printf("Returned value: %d\n", value);
                break;
            default:
                scanf("%*s");
                fprintf(stderr, "Wrong menu selection!\n");
                break;
        }
    }
    
    while ( ! pop(&stack, &value) )
        ;
    printf("Goodbye!\n");
    
    exit(0);
}
 
Текущее время: 09:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru