Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ C int всё нормально, а с double нет #include <stdio.h> double celcius(double pahr); int main() { double a = 70.0; double result; result = celsius(a); https://www.cyberforum.ru/ cpp-beginners/ thread687412.html Классы C++
Доброго времени суток! Реализую систему окон и контролов. Вот пример: class Control { public: void draw(); void set_type(int type_id);
C++ Как зделать makefile в VC2010 https://www.cyberforum.ru/ cpp-beginners/ thread687397.html
Я конечно в этом деле еще терем-изба темная , но столкнулся с потребностью makefile в VC2010 , как я вроде бы понял в VC сам проект должен собирать и выполнять все файлы в нем. У меня в проекте 5 заголовочных файлов и 2 исходных все по отдельности компилируються и выводят .exe , вот... У меня же в одном исходном файле прописано окно 100 * 200 , но заданного окна нет . Я так подозреваю что...
C++ Построчное чтение из текстового файла Подскажите плз, как считать не только первую строку, но и все последующие в файле? #include <string.h> #include <stdio.h> int main(void) { FILE *stream; char msg = "this is a test"; char buf; https://www.cyberforum.ru/ cpp-beginners/ thread687376.html
Сверточный и каскадный код C++
Нужно написать помехоустойчивый код. Он должен состоять из каскадного кода (на основе кода Рида-Соломона), свёрточного кода и алгоритма декодирования Витерби. Пока я более-менее разобрался только с кодом Р-С по книгам: 1. Б. Скляр / Цифровая связь / Москва, 2003г. 2. Р. Морелос-Сарагоса / МИР Связи / Москва, 2005г. Во второй книге описаны "двоичные свёрточные коды", но мне там не сильно...
C++ Сосчитать сколько рядов Если в скобках указана команда или переменная, тогда их обязательно надо использовать при выполнении задания. Ввести в файл list.txt всю информацию (файлы и каталоги), которая находится в текущем каталоге. Всю информацию надо сортировать по времени ($HOME) - ls -t < $HOME > list.txt С помощью команды grep показать все каталоги текущей директории - grep -r Сосчитать сколько рядов находится в... https://www.cyberforum.ru/ cpp-beginners/ thread687356.html
C++ В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент Как сделать такую программу: В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент. https://www.cyberforum.ru/ cpp-beginners/ thread687348.html Метод наискорейшего спуска для СЛАУ/метод сопряжённых градиентов для СЛАУ C++
Помогите, пожалуйста, найти реализацию вышеперечисленных методов. На С++, но если будет Си, Паскаль или Ява - буду тоже премного благодарен. PS Достаточно одного из них.
C++ Неправильный ввод for(i=0;i<n;i++) { std::cin>>temp; if(!std::cin) { std::cin.clear(); while(std::cin.get()!='\n') continue; std::cout<<"ERROR.\n"; break; https://www.cyberforum.ru/ cpp-beginners/ thread687336.html C++ Соритровка слиянием Всем доброго времени суток! В универе задали задачку на сортировку списка слиянием, в теории я всё понял, только не понял как это реализовать, может кто подскажет как отсортировать список? Мне нужен только алгоритм самой сортировки на c++, создание списка и прочее не нужно. Может у кого завалялся исходничек? Заранее спасибо https://www.cyberforum.ru/ cpp-beginners/ thread687320.html
Как массив перебирать с конца? C++
Простой цикл for(i=0;i<n;i++) начинает перебирать массив с первого элемента по последний а как записать чтобы цикл начал перебирать с останьго элемента и до первого?
C++ Лямбды https://www.cyberforum.ru/ cpp-beginners/ thread687303.html
Непонятно, как работает это простенький код, и почему именно так: int id = 0; auto f = () mutable { cout << "id: " << id << std::endl; ++id; }; id = 42; f(); f(); f();
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 5
0

Не могу разобраться с ошибками, наследование и шаблоны - C++ - Ответ 3646448

03.11.2012, 04:58. Показов 781. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:
Смоделировать стек на базе статического массива по заданию. Написать основные операции для работы со стеком (push, pop, top, empty, full) . Для этого (если в задании не указан иной способ) в программе на входе задать последовательность из К (К> 10) целых чисел (числа вводить с клавиатуры). Все положительные числа последовательно заносить в стек, а каждое отрицательное число должно изымать из стека один элемент. Отобразить динамику содержания стека при обработке заданной последовательности. Входную последовательность чисел задать такой, чтобы она демонстрировала работу основных операций и генерировала возникновения ситуаций "потери значимости стека" (stack underflow) и "переполнение стека" (stack overflow).
Примечание: после реализации стека работать с ним как с абстрактным типом данных, а не как с массивом.

Написать программу для последовательного хранения двух стеков в массиве из N элементов (стеки размещаются друг за другом: первая половина массива - первый стек, вторая половина массива - второй стек). На входе задаются пары целых чисел (i, j), 1  i  2. Число j пары (i, j) с j> 0 добавляется в i-й стек; число j пары (i, j), с j <= 0, не используется, но и-го стека изымается один элемент. После обработки всей заданной входной последовательности определить наибольший элемент каждого стека.

Код программы:
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <iostream>
#include <locale>
#include <windows.h>
#include <cassert>
using namespace std;
 
template <class T>
class MyStack
{
protected:
    T *massive;
    int size_row;
 
public:
    MyStack():size_row(0){};
    MyStack(int row){
        size_row=row;
        massive=new T [size_row];
    };
    ~MyStack(){delete [] massive;};
    
    virtual bool full();
    virtual void push(T obj=0);
    virtual bool empty();
    virtual void viewStack();
    virtual T top();
    virtual void pop();
    virtual T maxValue();
};
//-------------------------------------------------------------------
template <class T>
class Stack1: public MyStack <T>
{
protected:
    int index1;
 
public:
    Stack1(){
        index1=0;
    };
    ~Stack1();
 
    virtual bool full(){
        if(index1==(this->size_row/2)) return true;
        else return false;
    }
    virtual void push(T obj){
        if(full()){
            cout<<"\nstack1 overflow";
            index1--;
        }
        else this->massive[index1++]=obj;
    }
    virtual bool empty(){
        if(index1==0) return true;
        else return false;
    }
    virtual void viewStack(){
        for(int k=0;k<index1;k++){
            cout<<"Stack2: "<<this->massive[k]<<" ";
        }
        cout<<endl;
    }
    virtual T top(){
        return this->massive[index1-1];
    }
    virtual void pop(){
        if(empty()) cout<<"stack1 underflow";
        else --index1;
    }
    virtual T maxValue(){
        T tmp;
        tmp=this->massive[index1];
        for(int k=index1-1;k>=0;k--){
            if(this->massive[k]>tmp) tmp=this->massive[k];
        }
        return tmp;
    }
};
//-------------------------------------------------------------------
template <class T>
class Stack2: public MyStack <T>
{
protected:
    int index2;
 
public:
    Stack2(){
        index2=MyStack<T>::size_row/2;
    };
    ~Stack2();
 
    virtual bool full(){
        if(index2==this->size_row) return true;
        else return false;
    }
    virtual void push(T obj){
        if(full()) cout<<"\nstack2 overflow";
        else this->massive[index2++]=obj;
    }
    virtual bool empty(){
        if(index2==(this->size_row/2)) return true;
        else return false;
    }
    virtual void viewStack(){
        for(int k=MyStack<T>::size_row/2;k<index2;k++){
            cout<<"Stack1: "<<this->massive[k]<<" ";
        }
        cout<<endl;
    }
    virtual T top(){
        return this->massive[index2-1];
    }
    virtual void pop(){
        if(empty()) cout<<"stack2 underflow";
        else --index2;
    }
    virtual T maxValue(){
        T tmp;
        tmp=this->massive[index2];
        for(int k=index2-1;k>=size_row/2;k--){
            if(this->massive[k]>tmp) tmp=this->massive[k];
        }
        return tmp;
    }
};
//-------------------------------------------------------------------
//-------------------------------------------------------------------
void main()
{
    setlocale(LC_CTYPE,"Russian");
 
    int N, i, j;
    cout<<"Введите N: ";
    cin>>N;
 
    MyStack <int> massive(N);
    Stack1 <int> set1;
    Stack2 <int> set2;
    for(int k=0;k<N;k++){
        cout<<"Введите пару чисел i, j: ";
        cin>>i>>j;
        assert(i==1 || i==2);
        if(i==1){
            if(j>0) set1.push(j);
            if(j<=0) set1.pop();
            set1.viewStack();
        }
        if(i==2){
            if(j>0) set2.push(j);
            if(j<=0) set2.pop();
            set2.viewStack();
        }
    }
    cout<<"Максимальное значение Stack1: "<<set1.maxValue()<<endl;
    cout<<"Максимальное значение Stack2: "<<set2.maxValue()<<endl;
}
Ошибки
Код
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall MyStack<int>::push(int)" (?push@?$MyStack@H@@UAEXH@Z)"
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual bool __thiscall MyStack<int>::empty(void)" (?empty@?$MyStack@H@@UAE_NXZ)"
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall MyStack<int>::viewStack(void)" (?viewStack@?$MyStack@H@@UAEXXZ)"
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual int __thiscall MyStack<int>::top(void)" (?top@?$MyStack@H@@UAEHXZ)"
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall MyStack<int>::pop(void)" (?pop@?$MyStack@H@@UAEXXZ)"
1>Исходный код.obj : error LNK2001: неразрешенный внешний символ ""public: virtual int __thiscall MyStack<int>::maxValue(void)" (?maxValue@?$MyStack@H@@UAEHXZ)"
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Stack1<int>::~Stack1<int>(void)" (??1?$Stack1@H@@QAE@XZ) в функции _main
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Stack2<int>::~Stack2<int>(void)" (??1?$Stack2@H@@QAE@XZ) в функции _main


Вернуться к обсуждению:
Не могу разобраться с ошибками, наследование и шаблоны C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2012, 04:58
Готовые ответы и решения:

Не могу разобраться с ошибками
При попытке компиляции выскакивает: Expected FINALLY but received else at line 142(142:1) и еще...

не могу разобраться с ошибками
Приветствую всех форумчан!!! Столкнулся со следующей проблемой: при компиляции в С++(3.1) данный...

Не могу с ошибками разобраться
Помогите, не могу с ошибками разобраться

не могу разобраться с ошибками
работы с обыкновенными дробями. Класс должен содержать следующие элементы. Поля (скрытые): ...

1
03.11.2012, 04:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2012, 04:58
Помогаю со студенческими работами здесь

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

Разобраться с ошибками
что нужно исправить #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; int main...

Разобраться с ошибками в коде
подскажите, ошибки в коде есть подчеркиваются &quot;красным&quot; они, препод говорит, что это связано с...

Разобраться с ошибками в программе
#include &lt;stdio.h&gt; using namespace std; int main(void) { setlocale(LC_ALL,&quot;Russian&quot;); char...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru