• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Задача на языке 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, то есть до пятницы...
 
M

_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==Z[0]) w.Push(t,i+1);
else if (t==Z[1])
{
w.Pop(j);
cout<<j<<" "<<i+1<<endl;
}
}
}
 
B

Barmutik

Слегка решение на Турбо С не похоже <_<

Особенно использование классов и темлэйтов...
 
G

Guest

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

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