Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
1

стек чисел

05.05.2010, 09:50. Просмотров 2987. Ответов 30
Метки нет (Все метки)

напишите пожалуйста программу, которая считывает строку символов, выбирает числа из этой строки и записывает их в стек. вывести содержимое стека на экран.
если можно с пояснениями
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2010, 09:50
Ответы с готовыми решениями:

Сформировать стек из N чисел. Найти сумму нечетных чисел из стека. Результат поместить в стек
Здравствуйте. Помогите, пожалуйста, решить задачу: Сформировать стек из N чисел. Найти сумму ...

Стек чисел
Помогите пожалуйста написать программу, которая считывает текст из файла и создаёт стек чисел,...

Создать стек из 10 случайных чисел
Создать стек из 10 случайных чисел из диапазона . Вывести стек на экран. Найти сумму 4-х...

Создать стек из случайных целых чисел
Создать стек из случайных целых чисел. Перенести в другой стек все элементы ,находящиеся между...

30
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10859 / 6738 / 1618
Регистрация: 25.07.2009
Сообщений: 12,476
05.05.2010, 18:08 21
Цитата Сообщение от Stanislava Посмотреть сообщение
Так должно быть?
Ага. На то он и стек - кто первый вошёл, тот последний вышел... LIFO - Last In First Out
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 23
05.05.2010, 18:11 22
Точно, спасибо! Мы же это в лекции писали
Благодаря вам завтра я получу первый зачёт!
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
05.05.2010, 18:35  [ТС] 23
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
#include <iostream>
#include <cstring>
#include <sstream>
#include <vector>
 
int fromString( std::string& s){
    std::istringstream iss(s);
    int res;
    iss >> res;
    return res;
}
 
 
int main()
{
    std::vector<int> stack; // выполняет роль стэка
  
    int number=0;
    std::string s="aaaa7aaa5aaaa3aaaa";
    std::string s2;
    for( int i=0; i < s.size(); i++)
    for( int j=48; j < 58; j++)
    if ( (int)s[i]==j ){
        s2=s[i];
        number=fromString(s2);
        stack.push_back(number);
    }
 
    for( int i=0; i<stack.size(); i++)  //вывод стэка
    std::cout<<stack[i];
 
    return EXIT_SUCCESS;
}
программа со стеком,но программа выводит числа в томже порядке что и в файле
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10859 / 6738 / 1618
Регистрация: 25.07.2009
Сообщений: 12,476
05.05.2010, 18:41 24
Цитата Сообщение от Клео) Посмотреть сообщение
программа со стеком,но программа выводит числа в томже порядке что и в файле
Это программа не со стеком, а с обыкновенным массивом с произвольным доступом. Его просто обозвали stack, только настоящим стеком он от этого всё равно не стал.
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
05.05.2010, 18:43  [ТС] 25
как же тогда делать?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10859 / 6738 / 1618
Регистрация: 25.07.2009
Сообщений: 12,476
05.05.2010, 18:54 26
Цитата Сообщение от Клео) Посмотреть сообщение
как же тогда делать?
Немного переделать ту мою програмку, которая из файла читает:
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
#include <iostream>
#include <string>
#include <stack>
#include <cstdlib>
 
int main(){
    const std::string digits("1234567890");
 
    std::string buf;
    int num;
    size_t pos;
    std::stack<int> stk;
 
    while ( true ){
        std::cout << "Write some string with digits or just press <enter> for exit:\n> ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        pos = 0;
        while ( ( pos = buf.find_first_of(digits, pos) ) != std::string::npos ){
            num = atoi(buf.substr(pos).c_str());
            stk.push(num);
            pos = buf.find_first_not_of(digits, pos);
        }
 
        while ( !stk.empty() ){
            std::cout << stk.top() << "  ";
            stk.pop();
        }
        std::cout << std::endl;
    }
 
    return 0;
}
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
05.05.2010, 19:03  [ТС] 27
а можно впсисать символы в саму программу??чтобы не вводить их с клавиатуры...

Добавлено через 5 минут
спасибо
0
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
05.05.2010, 19:04 28
и меня
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10859 / 6738 / 1618
Регистрация: 25.07.2009
Сообщений: 12,476
05.05.2010, 19:07 29
Цитата Сообщение от Клео) Посмотреть сообщение
а можно впсисать символы в саму программу?
Ага
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
#include <iostream>
#include <string>
#include <stack>
#include <cstdlib>
 
int main(){
    const std::string digits("1234567890");
 
    std::string buf("abc12def34ghi56");
    int num;
    size_t pos;
    std::stack<int> stk;
 
    std::cout << "String: " << buf << std::endl;
 
    pos = 0;
    while ( ( pos = buf.find_first_of(digits, pos) ) != std::string::npos ){
        num = atoi(buf.substr(pos).c_str());
        stk.push(num);
        pos = buf.find_first_not_of(digits, pos);
    }
 
    std::cout << "Numbers in reverse order:" << std::endl;
    while ( !stk.empty() ){
        std::cout << stk.top() << std::endl;
        stk.pop();
    }
 
    return 0;
}
1
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 23
05.05.2010, 19:07 30
0
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
05.05.2010, 19:14  [ТС] 31
.............

Добавлено через 6 минут
все всем спасибки..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2010, 19:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создать стек, для суммирования чисел
Столкнулся с заданием в котором нужно создать стек при этом необходимо реализовать разбор строки...

Стек для хранения целых чисел (int)
Стек для хранения целых чисел (int). В классе должны быть функции добавления элемента на вершину...

Организуйте стек для хранения целых чисел
Организуйте стек для хранения целых чисел. Для стека используйте массив unsigned short. ...

Описать класс, реализующий стек комплексных чисел
Нужна помощь в задании - необходимо описать класс, реализующий стек комплексных чисел


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.