Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 13:58   #1
Jackies
Новичок
Джуниор
 
Регистрация: 26.03.2012
Сообщений: 2
По умолчанию с++ стеки как написать прогам

Также желательно, что то объяснить, а то у меня все так туго + только начал изучать.

Задание:
Создать алгоритм где видно обмен данных с программным модулем и отвечает интеллектуальной соответствующей программы с помощью:

1) Из файла F1 вводятся в стек элементы массива Х ( N число элементов max N=10 ) и величинa K ( 0 < K <10 )


2) Найти значение M(K) и вывести на экран вмести со всеми слагаемыми.
Формула: M(K)= 1/N * предел [от i=1 до N] (X(i) - M(k-i) ) [в К степени]
Где значение M(0)=0


Буду очень признателен
Jackies вне форума Ответить с цитированием
Старый 26.03.2012, 14:03   #2
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

Для начала перечитай правила форума. Во вторых, давай свои наработки, пусть и малые, ты же хочешь разобраться или надо решить за тебя?
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 26.03.2012, 15:25   #3
Jackies
Новичок
Джуниор
 
Регистрация: 26.03.2012
Сообщений: 2
По умолчанию

Мне нужна начальная помощь, а то не знаю как начать. Только без сарказма как Include main int void и т.д.

Я не заставляю, если есть время то помогите, если нет, то не пищите ничего. Спасибо

Последний раз редактировалось ACE Valery; 26.03.2012 в 19:05.
Jackies вне форума Ответить с цитированием
Старый 26.03.2012, 19:05   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Во-первых, как вам подсказали, читайте правила форума. Кросспостинг здесь запрещен, поэтому не надо создавать кучу тем с одним и тем же вопросом.
Во-вторых, читаем правила раздела и любуемся правилом о том, что без наработок тема удаляется, поэтому БЕЗ сарказма могли бы уж хоть что-нибудь выложить свое, хотя бы войд мейн и ввод массива, а то как-то не верится, что вы хотите разобраться.
В-третьих, под каждым сообщением есть кнопка "Правка". Не нужно каждые пять-десять минут дописывать лишние сообщения. Правьте свое последнее.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 26.03.2012, 19:22   #5
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Дорогой топикстартер, необходимо еще определиться, какие именно стеки Вам нужны.... А то Вам сейчас предложат для образца реализацию на динамических структурах, а Вы такого не проходили...
В Интернете образцов самых разных стеков пруд пруди - реализованы и на массивах, и на структурах и на классах. Фактически можно рассматривать стек как стопку тарелок - то есть положить что-то Вы можете только наверх и снять только сверху...выдернуть тарелку (читай элемент стека) из середины или с низа не получится.
И вообще сколько я не перечитывала задания - не поняла...Как -то путано саму задачу Вам сформулировали...

PS Если стек Вам нужен все-таки на структурах, настоятельно рекомендую Вам обратиться к прекрасному источнику, где четко представлена сама идея и алгоритмы использования стека.
http://www.intuit.ru/department/algo...data/30/1.html
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 27.03.2012, 13:18   #6
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Вот может быть такой стек:
Код:
emplate<class T, template <class> class CONT = std::vector>
        class Stack
{
        private:
                CONT<T> elem;
        public:
               
                void push(const T&);
                void pop();
                const T top();
                bool empty(){return elem.empty();}

};


template <class T,template <class> class CONT>
        void Stack<T,CONT>::push(const T& el)
        {
                elem.push_back(el);
        }

template <class T, template <class> class CONT>
        void Stack<T,CONT>::pop()
        {
                if(elem.empty())
                        throw std::out_of_range("Stack<>::pop(): empty stack");
                elem.pop_back();
        }

template <class T, template <class> class CONT>
      const T  Stack<T, CONT>::top()
        {
                if(elem.empty())
                        throw std::out_of_range("Stack<>::top(): empty stack");
                return elem.back();

        }
или такой
Код:
template<class T, int MAXSIZE>
        class StackNo
{
        private:
                T elem[MAXSIZE];
                int numElem;
        public:
               StackNo();
               template<class T2>
                        StackNo<T,MAXSIZE>& operator=(const StackNo<T2,MAXSIZE>& dest);
               void Push(const T& el);
               bool IsEmpty();
               void Pop();
               T Top();


};


template<class T, int MAXSIZE>
        StackNo<T, MAXSIZE>::StackNo():numElem(0)
        {

        }
template<class T, int MAXSIZE>
        template<class T2>
                StackNo<T, MAXSIZE>& StackNo<T, MAXSIZE>::operator=(const StackNo<T2,MAXSIZE>& dest)
                {
                        if((void*)this == (void*)&dest)
                                return *this;
                        StackNo<T2, MAXSIZE> tmp(dest);
                        elem.clear();
                        while(!tmp.empty())
                        {
                                elem.push_back(tmp.top());
                                tmp.pop();
                        }
                        return *this;
                }


template<class T, int MAXSIZE>
       void StackNo<T, MAXSIZE>::Push(const T& el)
        {
                if(numElem == MAXSIZE)
                        throw std::out_of_range("Stack is full!");
                 elem[numElem++] = el;
        }
template <class T, int MAXSIZE>
        bool StackNo<T, MAXSIZE>::IsEmpty()
        {
                return numElem <= 0;
        }

template <class T, int MAXSIZE>
        void StackNo<T, MAXSIZE>::Pop()
        {
                if(IsEmpty())
                        throw std::out_of_range("Stack is empty!");
                --numElem;
        }


template <class T, int MAXSIZE>
        T StackNo<T, MAXSIZE>::Top()
        {
                if(IsEmpty())
                        throw std::out_of_range("Stack is empty!");
                return elem[numElem-1];
        }
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стеки как извлечь элементы???? (Delphi) Hylim1991 Помощь студентам 6 22.03.2012 06:41
Стеки ильшат9 Паскаль, Turbo Pascal, PascalABC.NET 0 18.10.2011 18:43
посоветуйте как лучше написать написать бд diakon2 Помощь студентам 7 10.11.2010 14:17
Стеки (как изменить задачу?) Anita_i Помощь студентам 3 30.11.2009 19:29
В России нет места платным прогам KORN Свободное общение 79 07.01.2008 12:55