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

Создать стэк и заполнить его из txt файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработка программы поиска в векторе элементов http://www.cyberforum.ru/cpp-beginners/thread1138297.html
Помогите пожалуйста, не получается( Разработать программу поиска в векторе всех элементов со значением большим заданного с клавиатуры и удаления найденных элементов. Элементы вектора вводятся с клавиатуры и хранятся в связанном списке.
C++ Как удвоить каждую цифру трицифрового числа? Как можно удвоить каждую цифру трицифрового числа? Например 123 - 112233 http://www.cyberforum.ru/cpp-beginners/thread1138285.html
C++ Откомментировать каждую строку в программах
1. #include <iostream> #include <stdio.h> #include <math.h> using namespace std; //П.Р.3.1. int main() { long double i, a=-4, b=4, c=0.5, total; long double f1, f2;
C++ Ошибка - square не найден
// Perviy_cikl.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "../../std_lib_facilities.h" int _tmain(int argc, _TCHAR* argv) { int i = 0; while (i<100) {
C++ Составить программу для математических функций, используя циклы http://www.cyberforum.ru/cpp-beginners/thread1138255.html
Спасибо что зашли пожалуйста помогите с программой! http://www.cyberforum.ru/attachment.php?attachmentid=384563&stc=1&d=1396539479 вывести в виде таблиц пар чисел (аргумент, значение функции)
C++ Ошибка в цикле Суть программы: создаёт динамический список, каждый новый элемент списка заносится в конец. Ну, там далее ещё функций по мелочи, но не суть. Суть в том, что у меня заносит в список лишь первый элемент. Дальше идёт цикл по добавлению следующего элемента, и ни во 2, ни в 3, ни в 4 элементе имя не заносится, то есть программа просто-напросто пропускает процесс ввода имени элемента №2...3...4...n.... подробнее

Показать сообщение отдельно
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,337
03.04.2014, 22:18     Создать стэк и заполнить его из txt файла
Если по-простому, то можно как-то так:
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
#include <iostream>
#include <cstdio>
#include <cstdlib>
 
 
class Stack
{
 
private:
    static const int MAX_ELEMENTS = 20;
    int topIndex;
    char symbols[MAX_ELEMENTS];
 
public:
    Stack(): topIndex(0) {}
 
    char push(char);
    char pop();
    size_t size() const;
    bool full() const;
    bool empty() const;
};
 
 
int main(int argc, char *argv[])
{
    Stack *stack = new Stack();
 
    FILE *f = fopen("./file.txt", "r");
 
    char c;
 
    if(!f)
        exit(1);
 
    while((c = fgetc(f)) != EOF)
        if(c >= 'a' && c <= 'z')
            stack->push(c);
 
    fclose(f);
 
    std::cout << std::endl << "Stack is" << (stack->empty() ? "" : "n't") << " empty (size=" << stack->size() << ")" << std::endl;
 
    for(size_t i = stack->size(); i > 0; --i)
        std::cout << stack->pop() << std::endl;
 
    std::cout << std::endl << "Stack is" << (stack->empty() ? "" : "n't") << " empty (size=" << stack->size() << ")" << std::endl;
 
    delete stack;
 
    return 0;
}
 
 
char Stack::push(char c)
{
    if(!full())
        return symbols[topIndex++] = c;
    return false;
}
 
char Stack::pop()
{
    if(!empty())
        return symbols[--topIndex];
    return false;
}
 
size_t Stack::size() const
{
    return topIndex;
}
 
bool Stack::full() const
{
    return topIndex == MAX_ELEMENTS;
}
 
bool Stack::empty() const
{
    return ! size();
}
 
Текущее время: 20:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru