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