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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2014, 23:03   #1
looc-dogg
Пользователь
 
Регистрация: 06.01.2014
Сообщений: 20
По умолчанию Стеки.ОПЗ на си/c++

Народ, нужна помощь, не пойму почему прога зацикливается и выдает кучу каких-то слов. Условие задачи.Написать программу, реализующую перевод в обратную польскую запись (ОПЗ) простых арифметических и логических выражений. Ввод
и вывод данных организовать во внешние файлы.
Запрограммировать работу стека на основе двух функций
push () и pop ().выражение, допустим (1+2)*4+3. Буду очень благодарен.
Код:
#include <iostream>
#include <stdio.h>
#define N 100
using namespace std;
class stack
{
	int tos=0;
	int a[N];
	public:
		void push(int i)
		{
			if(tos>N)
			{
				cout<<"Стек полон";
				return;
			}
			a[tos]=i;
			cout<<tos<<" "<<"\n";
			tos++;
		}
		int pop(void)
		{
			tos--;
			if (tos<0)
			{
				cout<<"Стек пуст";
				return 0;
				
			}
			cout<<"-"<<tos<<" "<<a[tos]<<"\n";
			return a[tos];
		}
		int isempty()
		{
			return tos=0;
		}
};
int main()
{
	int k, j;
	stack s;
	FILE *in, *out;
	in=fopen("in.txt", "r");
	out=fopen("out.txt", "w");
	for(j=0;j<N;j++)
	{
		fscanf(in, "%d", &k);
		s.push(k);
		if(feof(in))
		break;
	}
	fprintf(out, "%s\n", "Результат");
	while(!s.isempty())
	{
		k=s.pop();
		fprintf(out,"%d", k);
	}
	fclose (out);
	fclose (in);
}

Последний раз редактировалось Stilet; 02.04.2014 в 08:11.
looc-dogg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование выражения в ОПЗ sereq Общие вопросы C/C++ 0 02.12.2013 17:26
Недоделанный калькулятор ОПЗ АлексВ Паскаль, Turbo Pascal, PascalABC.NET 1 20.05.2012 06:44
проблема с типами(char и int) в опз (язык с++) allozavr Помощь студентам 0 19.02.2012 14:39
опз skrepka Помощь студентам 0 22.05.2011 17:37
ОПЗ на си++ LiBeRTy_Nansy Помощь студентам 0 04.05.2011 22:41