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

Тема в разделе "Общие вопросы по С и С++", создана пользователем gfz, 2 июн 2005.

Статус темы:
Закрыта.
  1. gfz

    gfz Гость

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

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

    gfz Гость

    Репутация:
    0
    ошибка
    2 6
    8 12
    14 18
    1 19
     
  3. _maxim

    _maxim Гость

    Репутация:
    0
    может уже поздно, но все же...

    #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&copy;==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;
    }
    }
    }
     
  4. Barmutik

    Barmutik Гость

    Репутация:
    0
    Слегка решение на Турбо С не похоже <_<

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

    Репутация:
    0
    Люди добрые! Получил задание для курсача: написать программу, сохраняющую в выходном файле список содержимого текущей директории. На турбо С. Видимо опыта мало - помогите с написанием!!!!!!!!!!!!!!!!!!! времени очень мало, а сессию пропускать из-за этого не хочется.
     
Загрузка...
Похожие Темы - Задача на языке
  1. Ника11
    Ответов:
    2
    Просмотров:
    1.602
  2. elzim
    Ответов:
    0
    Просмотров:
    1.085
  3. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.353
  4. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.242
  5. MonteCristo
    Ответов:
    1
    Просмотров:
    926
Статус темы:
Закрыта.

Поделиться этой страницей