Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2015, 09:33   #1
vital_orsha
Пользователь
 
Регистрация: 11.03.2015
Сообщений: 21
По умолчанию Можете перевести код с паскаля на С++

Здравствуйте можете пожалуйста помочь перевести код с паскаля на с++
Вводится правильное выражение, включающее ,+,-,*,/ в строку, надо вывести его ответ.
Код:
Const mn=['+','-','*','/'];
Var s,s1,s2:string;
    n,m,k,j,i,t,p:integer;
    res:real;
    c:char;
Begin
    write('Введите выражение: ');readln(s);
    res:=0;
    For j:=1 to Length(s) do
     if not(s[j] in mn) then s1:=s1+s[j]
      else break;
    Val(s1,n,k);
    c:=s[j];
    For p:=j+1 to Length(s) do
     if not(s[p] in mn) then s2:=s2+s[p]
      else break;
    Val(s2,m,k);
    Case c of
     '+':res:=n+m;
     '-':res:=n-m;
     '*':res:=n*m;
     '/':if m<>0 then res:=n/m else t:=1;
    End;
    s1:='';s:=s+'-';
    For i:=p+1 to Length(s) do
     if not(s[i] in mn) then s1:=s1+s[i]
      else
Begin
        Val(s1,n,k);
        c:=s[i-2];
        if k=0 then
         Case c of
          '+':res:=res+n;
          '-':res:=res-n;
          '*':res:=res*n;
          '/':if n<>0 then res:=res/n else t:=1;
         End;
         s1:='';
      End;
    if t<>1 then writeln(res:0:2)
     else writeln('На ноль делить нельзя!');
    readln;
End.
vital_orsha вне форума Ответить с цитированием
Старый 28.10.2015, 09:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Приоритеты операций игнорируются?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2015, 21:04   #3
vital_orsha
Пользователь
 
Регистрация: 11.03.2015
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Приоритеты операций игнорируются?
да главное, чтобы просто вычисляло, а там я сам как-нибудь

Цитата:
Сообщение от Stilet Посмотреть сообщение
Приоритеты операций игнорируются?
Сможете помочь пожалуйста?

Последний раз редактировалось Аватар; 28.10.2015 в 21:18.
vital_orsha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можете перевести код с Pascal на C++ vital_orsha Общие вопросы C/C++ 2 27.10.2015 19:01
Перевести код с Паскаля на Си. Sting95 Помощь студентам 0 28.04.2014 15:17
Надо перевести код с Паскаля в код Lazarus Ляйсан9517 Помощь студентам 7 06.04.2014 22:44