1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Стеки

Тема в разделе "Вопросы новичков и не только", создана пользователем cout, 27 ноя 2011.

  1. cout

    cout Гость

    Репутация:
    0
    Определить, сколько элементов стека, начиная от вершины, находится
    до элемента с минимальным значением.

    Само создание стека уже есть осталось сделать доп.задание.помогите плиз.Может и идеей или теорией.чем отличается поиск элементов массиве от поиска элементов в стеке в плане синтаксиса?

    Вот мой код

    Код:
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    struct tstk 
    { int inf; 
    tstk *a; }; 
    tstk *DelStackAll(tstk *sp) 
    { tstk *spt; int inf; 
    while(sp != NULL) { 
    spt = sp; 
    inf= sp->inf; 
    cout << inf << endl; 
    sp = sp->a; 
    delete spt; } 
    return NULL; } 
    
    tstk *AddStack(tstk *sp, int inf) 
    { tstk *spt=new tstk; 
    spt->inf = inf; 
    spt->a = sp; 
    return spt; } 
    
    tstk *ReadStackD(tstk *sp, int &inf) 
    { if (sp == NULL) return NULL; 
    tstk *spt = sp; 
    inf= sp->inf; 
    sp = sp->a; 
    delete spt; 
    return sp; } 
    
    int main()
    {
    tstk*sp=NULL;
    
    int i,j;
    for(i=-50;i<50;i++)
    {sp=AddStack(sp,i);
    sp=DelStackAll(sp);}
    
    cout<<i<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
    }
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    1. min = первому элементу стека(H - голова стека), number = numberMin = 0
    2. вызываешь функцию getNum( H, min, number, numberMin )

    0. функция getNum
    1. разделяешь на голову(H) и хвост(T)(голова - первый элемент стека, хвост - то что по указателю на следующий после головы элемент)
    2. H < min переход на 3, иначе на 4
    3. numberMin = number, min = H
    4. getNum( T, min, number + 1, numberMin )

    Тут намерено пропущен пункт между нулевым и первым - догадайся сам чего не хватает.
     
Загрузка...
Похожие Темы - Стеки
  1. lena-tus
    Ответов:
    0
    Просмотров:
    1.123

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