Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

16_II / формула

.cpp
Скачиваний:
19
Добавлен:
10.02.2015
Размер:
874 б
Скачать
#include<iostream.h>
#include<fstream.h>

struct sp{char data;sp *next;};
ifstream in ("in.txt");
void VSTEK (sp*&nach1,char x)
{
	sp *r;
	r=new sp;
	r->data=x;
	r->next=nach1;
	nach1=r;
}
void IZSTEK(sp *&nach1,char &x)
{
	sp* r;
	x=nach1->data;
	r=nach1->next;
	delete nach1;
	nach1=r;
}
void main()
{
	sp *nach;
	char c,op,x,y;
	in.seekg(0);
	nach=NULL;
	while(in.peek()!=EOF)
	{
		in>>c;
		if(((c<='9')&&(c>='0'))||(c=='M')||(c=='m'))
			VSTEK(nach,c);
		else if(c==')')
		{
			IZSTEK(nach,y);
			IZSTEK(nach,x);
            IZSTEK(nach,op);
			switch(op)
			{
			case 'M':
					if(x>y)
						c=x;
					else c=y; 
					break;
			case'm':
						if(x<=y)
						c=x;
					else c=y; 
					break;
			default:;
			}
			VSTEK(nach,c);
		}
	}
	in.close();
	cout<<"formula=";
	IZSTEK(nach,c);
	cout<<c;
	cout<<endl;
	}