Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Ryce
1 / 1 / 0
Регистрация: 10.03.2015
Сообщений: 25
1

Написать программу построения польской имперсной записи

11.05.2016, 18:06. Просмотров 219. Ответов 4
Метки нет (Все метки)

Здравствуйте, ув. программисты, помогите написать программу построения польской имперсной записи. Задание на фото
0
Миниатюры
Написать программу построения польской имперсной записи  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2016, 18:06
Ответы с готовыми решениями:

K&R калькулятор обратной польской записи
В известной книге есть пример калькулятора в обратной польской записи. Проблема - не помещает числа...

Калькулятор основанный на польской записи (учебник Ритчи)
Добрый день! Изучаю Си по книге Ритчи. В одном из разделов(4.3) есть такой несложный пример(решение...

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

Странный результат вычисления строки в обратной польской записи
Ввожу строку, преобразовывает ок, но считает как-то криво Например 100+2 = 200, а 123+3 = 446...

Написать программу для построения круговой диаграммы в отдельном всплывающем окне
Написать программу для построения круговой диаграммы в отдельном всплывающем окне. Реализовать...

4
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27975 / 15701 / 963
Регистрация: 15.09.2009
Сообщений: 67,815
Записей в блоге: 78
11.05.2016, 18:10 2
ну давай, попытки в студию.
0
drfaust
350 / 235 / 81
Регистрация: 02.10.2008
Сообщений: 888
Записей в блоге: 1
Завершенные тесты: 1
11.05.2016, 19:14 3
В вики же всё разжёвано. Главное приоритеты для операций расставить...
0
Ryce
1 / 1 / 0
Регистрация: 10.03.2015
Сообщений: 25
12.05.2016, 19:18  [ТС] 4
Код есть, но не получается получить желаемый результат: выражения (A+B)*(C-D) , должно быть AB+CD-* а выходит AB+CD- знак умножения теряется . Вот код :
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
#include <stdio.h>
#define pocet 7000
 
int hodnota(char a){
 
  if(a=='+' || a=='-')
    return 0;
  else if(a=='*' || a=='/')
    return 1;
 
   return -1;
 
}
char vyraz[10000];
char pole[pocet];
int main()
{
  int i,x=0,j;
 
  while(gets(vyraz)!=NULL){
    x=-1;
    for(i=0;i<10000;i++){
 
      if(vyraz[i]>='A' && vyraz[i]<='Z')
         printf("%c",vyraz[i]);
 
      else if (vyraz[i]!='(' && vyraz[i]!=')'){
        //pr=hodnota(vyraz[i]);
        if(x==-1 || (pole[x]=='(')||(hodnota(pole[x])<hodnota(vyraz[i])))
        pole[++x]=vyraz[i];
 
 
       else if((hodnota(pole[x])>=hodnota(vyraz[i]))){
 
          printf("%c",pole[x]);
          pole[x]=vyraz[i];
        }
 
      }
        else if (vyraz[i]=='('){
          pole[x+=1]=vyraz[i];}
 
      else
        for(j=x;j>=0;j--){
        if(pole[j]=='('){
          x=j;
        break;}
        else
          printf("%c",pole[j]);}
 
    }
 
    putchar('\n');
  }
 
  return 0;
}
Добавлено через 43 минуты
Решил проблему
0
Aliksan
7 / 7 / 3
Регистрация: 22.09.2015
Сообщений: 154
13.05.2016, 02:08 5
Решил - поделись, может кому еще пригодится.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
13.05.2016, 02:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2016, 02:08

Вычислить значение произвольного выражения, представленного в обратной польской записи
Здравствуйте. Помогите с прогой пожалуйста. Дано арифметическое выражение длиной до 30 символов,...

Вычислить значение произвольного выражения, представленного в обратной польской записи
Вычислить значение произвольного выражения, представленного в обратной польской записи. Например:...

Дано выражение a*b/(a+b). Организовать вычисление этого выражения, используя алгоритм польской записи. Применить системн
Дано выражение a*b/(a+b). Организовать вычисление этого выражения, используя алгоритм польской...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru