Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задача на языке Turbo C
Форум программистов > Системное программирование > C, С++ и С Builder > Общие вопросы по С и С++
gfz
Помогите пожалуйста!
Задание:Дано скобочное выражение длиной до 50 символов, оканчивающееся пробелом. Напечатать попарно порядковые номера соответствующих открывающих и закрывающих скобок в выражении.Пример: ((a+cool.gif*(a+c)+(c+d))
2 6
8 11
13 17
1 18

Задача должна быть решена при помощи стэков.
P.S. Очень важно... Жду... Заранее спасибо... аська для связи 2633616 (там можно обсудить вознаграждение)
срок до 3.06.05, то есть до пятницы...
gfz
ошибка
2 6
8 12
14 18
1 19
_maxim
может уже поздно, но все же...

#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[i]==Z[0]) w.Push(t[i],i+1);
else if (t[i]==Z[1])
{
w.Pop(j);
cout<<j<<" "<<i+1<<endl;
}
}
}
Barmutik
Слегка решение на Турбо С не похоже smile.gif

Особенно использование классов и темлэйтов...
Начинающий кодер
Люди добрые! Получил задание для курсача: написать программу, сохраняющую в выходном файле список содержимого текущей директории. На турбо С. Видимо опыта мало - помогите с написанием!!!!!!!!!!!!!!!!!!! времени очень мало, а сессию пропускать из-за этого не хочется.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.