Задача на языке Turbo C

  • Автор темы Автор темы gfz
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

gfz

Помогите пожалуйста!
Задание:Дано скобочное выражение длиной до 50 символов, оканчивающееся пробелом. Напечатать попарно порядковые номера соответствующих открывающих и закрывающих скобок в выражении.Пример: ((a+<_<*(a+c)+(c+d))
2 6
8 11
13 17
1 18

Задача должна быть решена при помощи стэков.
P.S. Очень важно... Жду... Заранее спасибо... аська для связи 2633616 (там можно обсудить вознаграждение)
срок до 3.06.05, то есть до пятницы...
 
может уже поздно, но все же...

#include <iostream>
#include <typeinfo>
#define size 2

using namespace std;

const char Z[size]={'(',')'};

class stack
{
public:
stack() {p=prev=NULL;}
void Push(char, int);
template<class type> void Pop(type&);
bool Prov() {return (p==NULL) ? true: false;}
private:
stack* p;
stack* prev;
char s;
int v;
};

template<class type> void stack::Pop(type& c)
{
if (p!=NULL)
{
stack* temp=p;
p=p->prev;
if (typeid©==typeid(char)) c=temp->s;
else c=temp->v;
delete temp;
}
}

void stack::Push(char t, int c)
{
stack* temp=new stack;
temp->s=t;
temp->v=c;
temp->prev=p;
p=temp;
}

void Output(char*);
int Length(char*);

void main()
{
int n;
char* s,p;
cout<<"n=";
cin>>n;
s=new char [n];
cout<<"s=";
cin>>s;
Output(s);
cin>>p;
delete []s;
}

int Length(char* t)
{
int i=0;
while (*t!='\0') t++, i++;
return i;
}

void Output(char* t)
{
int i,j,k=Length(t);
stack w;
for (i=0; i<=k-1; i++)
{
if (t==Z[0]) w.Push(t,i+1);
else if (t==Z[1])
{
w.Pop(j);
cout<<j<<" "<<i+1<<endl;
}
}
}
 
Слегка решение на Турбо С не похоже <_<

Особенно использование классов и темлэйтов...
 
Люди добрые! Получил задание для курсача: написать программу, сохраняющую в выходном файле список содержимого текущей директории. На турбо С. Видимо опыта мало - помогите с написанием!!!!!!!!!!!!!!!!!!! времени очень мало, а сессию пропускать из-за этого не хочется.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!