1 / 1 / 0
Регистрация: 18.11.2009
Сообщений: 17
1

Используя стек вывести числа введенные пользователем в обратном порядке.

26.04.2010, 10:14. Показов 3731. Ответов 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <alloc.h>
 
typedef struct node
 
{
    char el;
    struct node *next;
} Stack;
Stack* Head=NULL;
void Push(char element)
{
    Stack *p;
    p = (Stack*)malloc(sizeof(Stack));
    if(p!=NULL)
    {
        p->el=element;
        p->next=Head;
        Head=p;
        printf("Push elem %c \n",element);
 
    }
    else
    {
        puts("Error! Not free memory!");
    }
}
 
char Pop()
{
    char a=Head->el;
    Stack* p=Head;
    Head=Head->next;
    free(p);
    printf("Pop elem %c \n",a);
    return a;
}
 
void main()
{
    int rezult;
    char infix[100], postfix[100];
    clrscr();
        ????????????????
        ?????????
 
        ?????????
 
 
 
    getch();
    return;
}
Добавлено через 16 часов 6 минут
помогите пожалуйста.....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2010, 10:14
Ответы с готовыми решениями:

Используя стек вывести числа введенные пользователем в обратном порядке элемент стека – число
помогите плиз решить ..Используя стек вывести числа введенные пользователем в обратном порядке...

Используя стек вывести знаки операций арифметического выражения в обратном порядке
Есть арифметическое выражение, которое содержит знаки операций +,-, *, / Нужно используя стек...

Используя стек, создать другой текстовый файл, в котором числа будут записаны в обратном порядке - Free Pascal
Создать текстовый файл, содержащий текстовую и числовую информацию. Используя стек, создать другой...

Вывести все цифры числа в обратном порядке, используя рекурсию
Дано натуральное число N. Выведите все его цифры по одной, в обратном порядке, разделяя их...

1
12 / 12 / 3
Регистрация: 15.04.2010
Сообщений: 31
26.04.2010, 11:19 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
#include <conio.h>
#include <stdio.h>
#include <string.h>
 
//#include <alloc.h>
#include <stdlib.h>
 
typedef struct node
 
{
    int el;
    struct node *prev;
} StackNode;
 
StackNode* pHead=NULL;
 
void Push(int element)
{
    if ( StackNode* lNewElem = (StackNode*)malloc(sizeof(StackNode)) )
    {
        lNewElem->el = element;
 
        if( pHead == NULL ) // создание стека
        {           
            lNewElem->prev = NULL;
            pHead = lNewElem;
        }
        else // добавление элемента
        {
            lNewElem->prev = pHead;
            pHead = lNewElem;
        }
        
        //printf("Push elem %d \n",element);
    }
    else
    {
        puts("Error! No free memory!");
    }
}
 
int Pop()
{
    int lRetElem = pHead->el;
    StackNode* p = pHead;
    pHead = p->prev;
    free(p);
    //printf("Pop elem %d \n", lRetElem);
 
    return lRetElem;
}
 
void main()
{
    int rezult;
    char infix[100], postfix[100];
    
    printf("Zanosim chisla : \n");
    
    int lElem = 0;
    for( int i = 0; i < 5; ++i )
    {
        scanf( "%d", &lElem );
        Push( lElem );
    }
    
    printf( "----------------------- \n" );
    printf( "Vivod elementov : \n" );
    while( pHead != NULL )
        printf( "%d\n", Pop() );
 
 
    getch();
    return;
}
Только написано под VS2003, но, думаю, удовлетворяет ANSI C и должно собраться и на Turbo....
Только расскоменть сверху alloc.h вместо stdlib.h
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2010, 11:19
Помогаю со студенческими работами здесь

Введенные числа распечатать в обратном порядке
Написать рекурсивную процедуру, которая считывает вводимые с клавиатуры числа до тех пор, пока не...

Рекурсия: введенные числа распечатать в обратном порядке
Написать рекурсивную процедуру, которая считывает вводимые с клавиатуры числа до тех пор, пока не...

Рекурсия: введенные числа распечатать в обратном порядке
Написать рекурсивную процедуру, которая считывает вводимые с клавиатуры числа до тех пор, пока не...

Вводится N чисел. Вывести эти числа в обратном порядке, не используя ни массивов, ни матриц
Кто может, помогите, пожалуйста! 1. Вводится N чисел. Вывести эти числа в обратном порядке, не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru