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

Исправить ошибку "Expected unqualified-id before '{' token" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать из текстового файла только определенные строки http://www.cyberforum.ru/cpp-beginners/thread1188215.html
считать из текстового файла например строки с 6 по 9, или с 3 по 19 и записать их в другой текстовый файл
C++ Длинная арифметика. Связать функции в меню Здравствуйте, хотела бы попросить у вас помощи. Пишу программу: Длинная арифметика.Целые числа. Операции: +,-,*,div,mod,gcd. Возникли некоторые проблемы. Не знаю как связать функции в меню.... http://www.cyberforum.ru/cpp-beginners/thread1188198.html
Динамические структуры данных. Описать структуру на С++ C++
Описать структуру с именем NOTE, с полями: фамилия, номер телефона, год рождения. Сформировать односвязный список. Реализовать просмотр списка в прямом и обратном порядке, а также добавление...
C++ Двумерный массив и ошибка "Необъявленный идентификатор"
Привет всем. Пишу программу для вывода на экран двумерного динамического массива. В программе создаю входной и выходной файлы. Вот мой код. #include <stdio.h> #include <stdlib.h> #include...
C++ Написать функцию для вычисления определителя матрицы http://www.cyberforum.ru/cpp-beginners/thread1188176.html
Нужна функция для вычисления ОПРЕДЕЛИТЕЛЯ матрицы, аргументами которой будет количество строк в матрице N и сама матрица. п.с. или ссылку на готовую программу/функцию Добавлено через 7 часов 56...
C++ Шаблон функции: найти сумму элементов массива, кратных 3 Создать шаблон функции: Найти сумму элементов массива C кратных 3. Нужна помощь, как это сделать. подробнее

Показать сообщение отдельно
Novichok_K_Z
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 11
26.05.2014, 16:24  [ТС]
Цитата Сообщение от Ilot Посмотреть сообщение
Кликните здесь для просмотра всего текста
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;
 
#define MAX 10
#define EMPTY -1
 
struct stack {
    char data[MAX];
    int top;
};
 
int isempty(struct stack *s) {
    return (s->top == EMPTY) ? 1 : 0;
}
 
void emptystack(struct stack* s) {
    s->top=EMPTY;
}
 
void push(struct stack* s,int item) {
    if(s->top == (MAX-1)) {
        printf("\nSTACK FULL");
    }
    else {
        ++s->top;
        s->data[s->top]=item;
    }
}
 
char pop(struct stack* s) {
    char ret=(char)EMPTY;
    if(!isempty(s)) {
        ret= s->data[s->top];
        --s->top;
    }
    return ret;
}
 
void display(struct stack s) {
    while(s.top != EMPTY) {
        printf("\n%d",s.data[s.top]);
        s.top--;
    }
}
 
int isoperator(char e) {
    if(e == '+' || e == '-' || e == '*' || e == '/' || e == '%')
      return 1;
    return 0;
}
 
int priority(char e) {
    int pri = 0;
    if(e == '*' || e == '/' || e =='%')
        pri = 2;
    else {
        if(e == '+' || e == '-')
            pri = 1;
    }
    return pri;
}
 
void infix2postfix(char* infix, char * postfix, int insertspace) {
    char *i,*p;
    struct stack X;
    char n1;
    emptystack(&X);
    i = &infix[0];
    p = &postfix[0];
 
    while(*i) {
        while(*i == ' ' || *i == '\t') {
            i++;
        }
 
        if( isdigit(*i) || isalpha(*i) ) {
            while( isdigit(*i) || isalpha(*i)) {
                *p = *i;
                p++;
                i++;
            }
 
            if(insertspace) {
                *p = ' ';
                p++;
            }
        }
 
        if( *i == '(' ) {
            push(&X,*i);
            i++;
        }
 
        if( *i == ')')  {
            n1 = pop(&X);
            while( n1 != '(' ) {
                *p = n1;
                p++;
                if(insertspace) {
                    *p = ' ';
                    p++;
                }
                n1 = pop(&X);
            }
            i++;
        }
 
        if( isoperator(*i) ) {
            if(isempty(&X))
                push(&X,*i);
            else {
                n1 = pop(&X);
                while(priority(n1) >= priority(*i)) {
                    *p = n1;
                    p++;
 
                    if(insertspace) {
                        *p = ' ';
                        p++;
                    }
 
                    n1 = pop(&X);
                }
                push(&X,n1);
                push(&X,*i);
            }
            i++;
        }
    }
    while(!isempty(&X)) {
        n1 = pop(&X);
        *p = n1;
        p++;
 
        if(insertspace) {
            *p = ' ';
            p++;
        }
    }
    *p = '\0';
}
 
int main()
{
    char in[50] = { 0 },post[50] = { 0 };
 
    printf("Enter Infix Exp<b></b>ression : ");
 
    fgets(in, sizeof(in), stdin);
        in[strlen(in) - 1] = '\0';
    infix2postfix(&in[0],&post[0],1);
    printf("Postfix Exp<b></b>ression is : %s\n",&post[0]);
 
    return 0;
}

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