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

странный порядок вывода cout - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Калькулятор выражений http://www.cyberforum.ru/cpp-beginners/thread1122576.html
Здравствуйте. Есть функция в калькуляторе принимающая значения. Не могу додумать как заставить ее работать с двухзначными и более числами. Нужна помощь :) int parse(char* expression) { TStackElem* operands = NULL, *operations = NULL; for(unsigned int i = 0; i < strlen(expression); i++) { char symb = expression; if (symb >= '0' && symb <= '9') {
C++ Правило использования функции, которая возвращает массив Необходимо задать функцию которая возвращает массив. Вот пример программы которую я написал: const int N=100; const double A0=1, h=0.01; double *Progonka(double *A, double *B, double *C, double *F, double first, double second) { int i; double *y, *alfa, *betta; alfa=(double*)malloc((N)*sizeof(double)); http://www.cyberforum.ru/cpp-beginners/thread1122575.html
C++ Запрограмировать математические суммы
Вычислить суммы \sum_{k=1}^{N} \frac{1}{\sqrt{k}} и \sum_{k=N}^{1} \frac{1}{\sqrt{k}} , составить таблицу результатов для N=10 в степени i, где i=3,4,5,6. Сравнить результати для разных типов данных float, double
C++ Сгенерировать последовательность 10 000 случайных чисел. Найти сумму этих чисел, проводя суммирование возрастающем порядке
Сгенерировать последовательность 10 000 случайных чисел на промежутке [0,1) типа float. Найти: a. сумму этих чисел, проводя суммирование в последовательном порядке; b. возрастающем порядке; c. убывающем порядке. Подскажите пожалуйста варианты реализации подзадачи b(c).
C++ Могут ли два приложения пользоваться одной и той же выделенной памятью? http://www.cyberforum.ru/cpp-beginners/thread1122538.html
День добрый! С помощью FileMapping, в ActiveX компоненте, создана область в памяти куда копируются объекты (текстуры и файлы STL). Эти объекты содержат указатели на элементы созданные в выделяемой памяти. Объекты копируются туда чтобы несколько программ обращались к одной области памяти для загрузки текстур и файлов STL что значительно сокращает объем занимаемой программой памяти. Так вот...
C++ Должны ли все изображения (негативы и позитивы) быть в серой шкале, а не цветными Обучаю каскад утилитой opencv_traincascade - должны ли все изображения(негативы и позитивы) быть в серой шкале, а не цветными ? подробнее

Показать сообщение отдельно
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927

странный порядок вывода cout - C++

18.03.2014, 12:36. Просмотров 392. Ответов 6
Метки (Все метки)

Доброго времени суток. Есть шаблонный класс stack, и небольшая тестовая программка. Ожидаемый вывод после выполнения программы немного не совпадает с действительным выводом. Подскажите, почему так?

ожидаемый выводstack underflow11
12
-1

выводитstack underflow-1
11
12


Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//stack.h
#pragma once
template <class T>
class stack
{
public:
    stack(size_t);
    ~stack();
    void push(T);
    T pop();
    bool isEmpty();
private:
    T *arr;
    size_t max_size;
    size_t size;
};
 
#include "stack.cpp"

Кликните здесь для просмотра всего текста
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
//stack.cpp
#include "stdafx.h"
#include "stack.h"
#include <iostream>
 
 
template<class T>
stack<T>::stack(size_t _max) :max_size(_max), size(0)
{
    arr = new T[max_size];
}
 
 
template<class T>
stack<T>::~stack()
{
}
 
 
template<class T>
void stack<T>::push(T in)
{
    if (size < max_size)
        arr[size++] = in;
    else
        std::cerr << "stack overflow";
}
 
 
template<class T>
T stack<T>::pop()
{
    if (isEmpty())
    {
        std::cerr << "stack underflow";
        return T(-1);
    }
    else
        return arr[--size];
}
 
 
template<class T>
bool stack<T>::isEmpty()
{
    return size == 0;
}

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// program1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "stack.h"
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    stack<int> a(10);
    a.push(11);
    a.push(12);
    cout << a.pop() << endl << a.pop() << endl << a.pop();
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru