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

Выражения и файлы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Стек http://www.cyberforum.ru/cpp-beginners/thread259477.html
В общем это не задача, а так, чисто для себя. В общем, нужно с помощью стека получить слово-перевёртыш. Само слово я могу получить, но как его потом в массив записать. Подскажите пожалуйста. #include "stdafx.h" #include <iostream> #include <conio.h> #include "stack.h" using namespace std; int _tmain(int argc, _TCHAR* argv) { int i,n;
C++ Процедури циклы Можете пожалуйста помочь с данным заданием а то не очень понемаю что нужно зделать Здание: Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, - буква, и ложное значение в противном случае. Подсчитать, используя написанную функцию, количество букв и символов, не являющихся буквами в заданной строке. Вот что скажем так я... http://www.cyberforum.ru/cpp-beginners/thread259452.html
C++/CLI WinForms Преобразовать "System::String ^" в "char []"
Доброго времени суток! Каким способом можно String^ переобразовать в char Вот у меня есть такой код: String^ s = textBox1->Text; char str0 = s; Т.е. s берется с текстбокс, и с этого текстбокс нужно преобразовать в char. Но если можно как-то обойтись без char напишите!
Строки C++
Вот задание : Вводится строка. Удалить из строки пару слов, которые имеют одинаковую длину и отличаются друг от друга на максимальное количество символов. Вообще не знаю что тут делать! Помогите пожалуйста! Буду благодарен!
C++ ошибка fatal error http://www.cyberforum.ru/cpp-beginners/thread259401.html
при запуске exe вылетает ошибка что переменная i не инициализированна. #include <iostream> //using namespace std; stringz::stringz() { cout << "Default constructor" << "\n"; len = 4; lent = 0;
C++ создание файла ребят не подскажите как создать(к примеру 50 файлов) и записать че-то в него. С созданием одного файла непроблема, а как сделать чтобы создать несколько файлов незнаю. borland C 3.1 подробнее

Показать сообщение отдельно
Дима-Дима
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 63
25.04.2011, 07:44  [ТС]     Выражения и файлы
Вот готовый алгоритм!
Все исправлено!
Вводим выражение в файл, получаем готовый ответ на консоль))))))
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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <cstring>
using namespace std;
 
char stack_z[10];
double stack_c[10];
int tos_z=0;
int tos_c=0;
char   number[11];  
 
void push_z (char a)
{
    stack_z[tos_z]=a;
    tos_z++;
}
 
void push_c (double a)
{
    stack_c[tos_c]=a;
    tos_c++;
}
 
char pop_z ()
{
    tos_z--; 
    return stack_z[tos_z];
}
 
double pop_c ()
{
    tos_c--; 
    return stack_c[tos_c];
}
 
void do_op ()
{
    double op1=pop_c();
    double op2=pop_c();
    char znak=pop_z();
    double res;
    switch (znak)
    {
    case '+': res=op1+op2; break;
    case '-': res=op2-op1; break;
    case '*': res=op1*op2; break;
    case '/': res=op2/op1; 
    }
    push_c(res);
}
 
int main()      
{
    FILE *in; 
    in=fopen("expr_valin.txt", "r");
    char ch;
    int t=0, i=0; 
    double count;
i=0;
while((ch=getc(in))!='\n')
{
top_of_switch: 
 
 switch(ch) 
 {
      case '=': 
        { 
            switch(stack_z[tos_z-1]) 
            {
            case '*': case '/': case '+'   : case '-':
                {
                    do_op(); goto top_of_switch;
                }
            case '(': 
                {
                    cout<<"Error"<<endl; continue;
                }
            case '\0': 
                {
                    break;
                }
            }
        }
 
    case '(': 
        {push_z(ch); continue;}    /* при любом содержимом вершины стека */
   
    case ')': 
        { 
            switch(stack_z[tos_z-1]) 
            {
                case '*': case '/': case '+'   : case '-':
                {
                    do_op(); goto top_of_switch;
                }
                case '(': 
                {
                    pop_z(); continue;
                }
            }
        }
 
    case '+': case '-':
        {
            switch(stack_z[tos_z-1]) 
            {
            case '\0': case '(': push_z(ch); continue;
            case '+'   : case '-': do_op(); push_z(ch); continue;
            default    :  do_op(); goto top_of_switch; /* операторы '*', '/' */
            }
        }
 
    case '/':
        {
            switch(stack_z[tos_z-1]) 
            {
            case '*': case '/':  {do_op(); push_z(ch); continue;}
            default : {push_z(ch); continue;} /* пустой стек, '(' и операторы '+', '-' */
            }
        }
    
    case '*':
        {
            switch(stack_z[tos_z-1]) 
            {
            case '*': case '/':  {do_op(); push_z(ch); continue;}
            default : {push_z(ch); continue;} /* пустой стек, '(' и операторы '+', '-' */
            }
        }
 
    default :/* если цифровой символ, то считываем  число и заносим в стек */
        {
            i = 0;
            do number[i++] = ch; while(isdigit(ch=getc(in)) || (ch=='.'));
            number[i] = '\0';  ungetc(ch,in);
            push_c(atof(number));
        }
      
    }
    }
    fcloseall();
 
    cout<<"Vichisleno!\n";
    count=stack_c[0];
    cout<<count<<" ";
    cout<<endl;
    return 0;
}
 
Текущее время: 22:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru