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

Реализовать кольцевой стек. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очередь на основе двусвязного списка http://www.cyberforum.ru/cpp-beginners/thread707768.html
имеется собственный класс двусвязного списка с объектами, считываемыми из бинарного файла, как на его основе организовать очередь, используя контейнер STL <queue>???? Очень нужно, никак не могу...
C++ Циклический сдвиг элементов одномерного массива доброго времени суток! помогите составить две функции одну для циклического сдвига элементов одномерного массива на К позиций, а вторую вправо! Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread707730.html
C++ Структура состоящая из двух дробей и методов работы с ними(сложение, вычитание)
Пишем в Microsoft Visual Studio 2010 -> Win32 Console Application -> C++ Собственно задача такова - создать программу со структурой описывающей несколько дробей и работу с ними.Пока получается...
константы в классах C++
в классе используется константа типа double. Как правильно задать ее? как static const double внутри класса или просто написать определение константы до класса?
C++ std::map (заменить цикл на грамотный алгоритм) http://www.cyberforum.ru/cpp-beginners/thread707691.html
Привет! Привожу пример: struct Info { Info() : magicNumber(0), age(0) {} Info(int magicNumber, int age) : magicNumber(magicNumber), age(age) {} int magicNumber; int age;
C++ Список полинома Класс полином и класс список для полинома. В списке в функции SortAdd перед return выдает ошибку. С чем может быть связано? Код: class Polynom { friend class List; int *Values; ... подробнее

Показать сообщение отдельно
Kandelyabr
7 / 7 / 0
Регистрация: 03.04.2012
Сообщений: 15
25.11.2012, 14:28
По сути там ничего не удаляется. Всё дело в схеме считывания данных из массива.
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
#include <iostream>
using namespace std;
 
//Разместим основные переменные и сам массив стека
//в глобальной области видимости для простоты обращения к функциям
 
const int maxsize = 100; //максимальный размер стека
char Stack[maxsize];
int size;
int putloc = 0, getloc;
//прототипы функций обработки стека
void put(char ch); //функция "положить в стек"
char get(); //функция "взять из стека"
 
int main()
{
    size = 26; //размер стека для вводимых данных, перед новым набором данных должен устанавливаться вручную
    int i;
    char ch;
    cout << "We enter a symbols in the stack. \n";
 
    for(i=0; i<26; i++) { //цикл внесения символов в стек
        put('A' + i);
    }
 
    cout << "Content the stack: "; //выводим содержимое стека
    for(i=0; i<26; i++) {
        ch = get();
        if(ch!=0) cout << ch;
    }
 
    cout << "\nRepeat ouput content the stack: ";
    for(i=0; i<26; i++) {   //демонстрируем возможность
        ch = get();       //повторного извлечения данных из стека
        if(ch!=0) cout << ch;
    }
    
    return 0;
}
 
void put(char ch) {
    if(putloc == size) {
        cout << "-- The Stack is full.\n";
        return;
    }
    putloc++;
    getloc = putloc;
    Stack[putloc] = ch;
}
 
char get() {
    if(getloc == 0) getloc = putloc;
    return Stack[getloc--];
}
Я здесь не привел экспериментальный кусок кода, где бы показывались вводимые в стек данные для сравнения с выводимыми из стека данными. Для большей наглядности можно сделать это самостоятельно, не так сложно.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru