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

Просмотр элементов стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти в файле все слова, состоящие только из определённых букв http://www.cyberforum.ru/cpp-beginners/thread1132080.html
Найти в файле все слова, состоящие только из определённых букв: r,e,d и вывести их на экран.
C++ Работа со стеками на Dev C++ задание такое: удалить из списка все вхождения элемента , имеющего заданное значение. Ошибку выводит , что не объявлен random . Помогите пожалуйста, какие здесь ошибки есть найти. Вот код... http://www.cyberforum.ru/cpp-beginners/thread1132041.html
C++ Линейный циклический однонаправленный список
Задание организовать очередь с приоритетом (у каждого элемента свой приоритет). Элементы с наивысшим приоритетом ставятся в начало очереди, с наимень- шим – в конец. Извлечение элементов – только из...
Методом хорд найти корень функции C++
помогите пожалуйста запрограммировать, завтра сдавать надо, а я не могу сделать, \ln 8x=9x-3.1 методом хорд, очень прошу помочь
C++ Найти только определенные знаки препинания http://www.cyberforum.ru/cpp-beginners/thread1131989.html
#include <iostream> #include <fstream> #include <locale> using namespace std; int main() { setlocale (0, ""); ifstream inp ("D://text.txt"); char delims=".,;?!-:";
C++ Найти элементы массива, индексы которых являются степенями двойки Дан целочисленный массив с количеством элементов n.напечатать те его элементы,индексы которых являются степенями двойки(1,2,4,8,16,...) помогите пожалуйста решить задачу подробнее

Показать сообщение отдельно
Maximilan
2 / 2 / 0
Регистрация: 03.10.2012
Сообщений: 15
28.03.2014, 14:49  [ТС]
SatanaXIII, Добавил скобки, моя невнимательность сыграла злую шутку. Появилась другая ошибка.
Полный код:
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.H>
#include <iostream>
#include <math.h>
#include <stack>
#include <string>
#include <string.h>
 
using namespace std; 
 
int menu_text ()
{   cout<<"__________________________"<<endl;
    cout<<"1. Добавить элемент стека"<<endl;
    cout<<"2. Выгрузить элементы стека"<<endl;
    cout<<"3. Посмотреть верхний элемент"<<endl;
    cout<<"4. Посмотреть все элементы"<<endl;
    cout<<"__________________________"<<endl;
    return 1;
}
 
void main () 
{
    setlocale(LC_ALL, "Russian");
    string s; int size;
    int menu = 0;int choise =0,n; stack <string> st;
    // menu
while (menu !=9) 
{    
    menu_text(); // запускаем функцию для вывода пунктов меню
    cout<<"Выберете пункт меню"<<endl;
    cin>>menu; cout<<endl;
    
    switch (menu) 
    {
        case 1: // ввод элемента стекаs
            system ("cls");
            cout<<"Введите  строчный элемент стека "<<endl;
            cout<<"Вводим один элемент (1) или несколько (2),"<<endl;
                cin>>choise;cout<<endl;
                cin.ignore();
                switch (choise)
                {
                    case 1:
                        getline(cin,s); 
                        st.push (s);
                    break;
 
                    case 2:
                        cout<<"Введите количество вводимых строк"<<endl;
                        cin>>n; cout<<endl;
                        cin.ignore();
                        for (int i=0;i<n;i++){
                            cout<<i+1<<".";getline(cin,s);cout<<endl;
                            st.push (s);
                        }
                    break;
                    
                    default:
                        cout<<"Ошибка ввода"<<endl;
                    break;
 
                }
                
            
        break;
 
        case 2:
            system ("cls");
            cout<<"Элементы стека"<<endl;
            if (!st.empty())
            {
            while (!st.empty())
                {
                    cout<<st.top()<<endl;st.pop();
                }
            }
            else cout<< "Стек пустой!"<<endl;
        break;
 
        case 3:
            system ("cls");
            
            if (!st.empty()){
                cout << "Верхний элемент: "<<st.top()<<endl;
            }
            else cout<< "Стек пустой!"<<endl;
        break;
        
        case 4:
            system ("cls");
            cout<<"ПРосмотр Элементов стека"<<endl;
             
                int j=0;
                size = st.size;
    
                string *st_buf= new string[size];
            if (!st.empty())
            {
            while (!st.empty())
                {
                    cout<<st.top()<<endl;
                        j++;
                        st_buf[size-j]=st.top();
                    st.pop();
                }
            
            for (j = size-1;j>=0;j--)
                {
                    st.push(st_buf[j]);
                }
            }
            else cout<< "Стек пустой!"<<endl;
        break;
 
        default:
            cout<<"Ошибка ввода"<<endl;
        break;
        
    }
}
 
}
В строчке 95 ошибка вида:
error C2440: =: невозможно преобразовать "unsigned int (__thiscall std::stack<_Ty>::* )(void) const" в "int"
Все по ходу из-за того, что размер массива должен быть указан в константе, или пока не доступно для моего ума.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru