Форум программистов, компьютерный форум CyberForum.ru

Составить Алгоритм работы программы (программа есть) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Практика ребята! http://www.cyberforum.ru/cpp-beginners/thread319398.html
1->С помощью функции произвести пересчёт расстояния из верст километры (1 верста-это 1066.8). 2-> Определить колличество элементов одномерного массива, лежащих в диапозоне от A до B. 3->определить наименьший элемент каждой чётной строки матрицы A(m,n)
C++ Программа, собранная в MinGW требует зависимые библиотеки Пишу такой код #include <iostream> int main() { std::cout << "Hello World!"; return 0; } компилирую так g++ -O2 -c hello.cpp g++ -o hello hello.o -s http://www.cyberforum.ru/cpp-beginners/thread319373.html
C++ разроботать программу с использованием классов и динамических массивов
разроботать программу с использованием классов и динамических массивов: дано n матриц произвольной размерности :реализовать методы 1 сумма элементов по периметру,2 произведение элементов не включая ноль и не включая элементы по периметру,3 вывести элементы главной диагонали если сумма побочной четная,4 упорядочить третью строку матрицы! Помогите пожалуйста!на контр роб
C++ что-то с вводом
Ввод параметров b и e почему-то не осуществляется и программа их "проскакивает". // фыва.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> #include <locale.h>
C++ подкоректировать классом с разделителем http://www.cyberforum.ru/cpp-beginners/thread319345.html
требуется разработать два класса на основе класса Date они должны читать и выдавать в поток значения даты первый класс-дата с текстом(месяц вводится не цифрой, а своим названием) второй-дата с разделителем(позволяет указывать дату в формате 11, 12, 2011 11/12/2011 и т.п) вопрос-я написал их, только никак не пойму, как заставить класс самостоятельно определять какой разделитель введен может...
C++ Не работает try catch пишу такой код try{ int k=0; int i=44/k;} catch(...) {cout<<"OSIBKA BLIN "<< endl;} но программа зависает как будто нет обработчика исключений try подробнее

Показать сообщение отдельно
kniazik
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 25
15.06.2011, 12:23     Составить Алгоритм работы программы (программа есть)
Есть следующая программа

Реализовать шаблон класса Stack, реализующий стек. Для представления элемента стека использовать шаблон класса Node. Определить функции добавления на вершину стека и чтение с вершины (как шаблонный класс).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
    Листинг программы
 
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
 
class Exception {
public:
    Exception(char * c="Error!") {
        message=c;
    };
    char *message;
};
class MemoryException : public Exception {
public:
    MemoryException():Exception("Out of memory error!"){};
};
class Downflow : public Exception {
public:
    Downflow():Exception("Stack is empty!"){};
};
 
 
template <class T>
struct Node {               //структура узла
    T data;                 //данные
    Node *l;                //указатель на предыдущий узел
};
template <class T>
class stack
{
public:
    stack() { head=0;}      //конструктор по умолчанию
   ~stack() {};                        // деструктор
 
    Node<T> *push (T inf) { //запихнуть в стек
        Node<T> * newbie = new Node<T>;         //создаем новый узел
        if (!newbie)
        {
            throw MemoryException();
        }
 
        newbie->l=head;                         //указатель узла на предыдущий
        newbie->data=inf;                       //записываем данные
        head=newbie;                            //перемещаем вершину
        return head;
    }
    T pop () {
        if (!head)
        {
            throw Downflow();
        }
 
        Node<T> *tmp=head->l;                   
        T ret=head->data;                       //запоминаем что надо вернуть
        delete head;                            //удаляем старую вершину
        head=tmp;                               //запоминаем новую
        return ret;
    }
    Node<T> *head;                              //вершина стека
};
 
int main()
{
    stack<int> stack;
    while (1)
    {
        cout << endl << "Menu:" << endl << "1. Push" << endl << "2. Pop" << endl << "3. Exit" << endl;
        int key=0;
        cin >> key;
        switch (key)
        {
        case 1:
            cout << "Enter a int number: ";     //ввести число
            int x;
            cin >> x;
            try 
            {
                stack.push(x);                  //в стек
            }
            catch (MemoryException except) 
            {
                cout << except.message;
                return 1;
            }
 
            break;
        case 2:
            try {
                cout << "Popped " << stack.pop() << endl;   //достаем из стека
            }
            catch (Downflow except)
            {
                cout << except.message;
               // return 1;
            }
            break;
        case 3:
            return 0;
        }
    }
}

Нужна помощь в создании алгоритма работы этой программы

Добавлено через 23 часа 52 минуты
НЕУЖЕЛИ НИ КТО НЕ МОЖЕТ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru