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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
motoo
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 26
#1

Задача на указатели и стек - C++

10.12.2011, 14:53. Просмотров 1607. Ответов 3
Метки нет (Все метки)

Задали строчную переменную, которая содержит последовательность символов, среди которых есть цифры. Составить программу, которая превращает эту переменную в десятичное число, изымая символы, не являющиеся цифрами. Число формировать, начиная с младшего разряда, используя стек.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 14:53     Задача на указатели и стек
Посмотрите здесь:

Стек и указатели - C++
Есть элемент стека описанный в структуре: struct ElementOfStack { char info; // здесь, как я поняла, находится...

Стек через указатели — ошибка доступа - C++
Задача такова: реализовать стек, в котором будут такие команды — push (добавить в конец элемент), pop (удалить последний элемент), back...

Задача на указатели - C++
Всем привет. Вот такую задачу пытаюсь решить. Сам я пока новичок в с++. Вот начало: #include "stdafx.h"; #include...

Задача на указатели - C++
Задали строчную переменную, которая содержит последовательность символов, среди которых есть цифры. Составить программу, которая превращает...

задача на массивы и указатели С++ - C++
Размерность массива 30. Диапозон значений (-20,20). Какое абсолютное значение встречается в массиве чаще остальных?(решать через указатели...

Задача на классы и статические указатели - C++
Условие задачи: в любой момент времени можно получить последнего из могикан (объект класса), без использования отдельного экземпляра. Нужно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
10.12.2011, 15:14     Задача на указатели и стек #2
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
#include <iostream>
#include <stack>
 
using namespace std;
 
int main()
{
    char* str = "some1234text5yes67no8";
    stack<int> dStack;
    while(*str)
    {
        if(*str >= '0' && *str <= '9')
            dStack.push(*str - '0');
        str++;
    }
    unsigned long long digit = 0;
    int step = 1;
    while(!dStack.empty())
    {
        digit += dStack.top()*step;
        step *= 10;
        dStack.pop();
    }
    
    cout << digit << endl;
    return 0;
}
motoo
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 26
10.12.2011, 15:19  [ТС]     Задача на указатели и стек #3
А можеш немного прокоментировать код??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2011, 15:41     Задача на указатели и стек
Еще ссылки по теме:

Контейнеры(ящики) с товаром (задача на стек) - C++
Ограничение по времени: 1 сек На складе хранятся контейнеры с товарами N различных видов. Все контейнеры составлены в N стопок. В...

Задача на стек (сформировать 2 стека из положительных и отрицательных) - C++
Здравствуйте, помогите решить задачу Ввести 10 чисел, разместив в стек. сформировать из этих чисел 2 стека, в первый положительные, во...

Указатели на функцию. Задача 2: функция предикат с void указателем - C++
Сумму элементов массива, лежащих в пределах (a &lt;b)

Задача на указатели (Рассчитать в одной функции сумму и произведение значений элементов произвольной строки двухмерного массива) - C++
Ввести двумерный массив размерностью 5х6. Рассчитать в одной функции сумму и произведение значений элементов произвольной строки...

Задача на массив и указатели.(массив из случайных чисел) - C++
Найти абсолютное значение,которое чаще остальных встречается в массиве. #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;stdlib.h&gt; ...

Задача на указатели.Указатель на указатель. - C++
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали равны 0, а...


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

Или воспользуйтесь поиском по форуму:
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
10.12.2011, 15:41     Задача на указатели и стек #4
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
#include <iostream>
#include <stack>
 
using namespace std;
 
int main()
{
    char* str = "some1234text5yes67no8";    //задаем строку
    stack<int> dStack;                      //создаем стек из целых чисел
    while(*str)                             //пока не достигнут конец строки
    {
        if(*str >= '0' && *str <= '9')      //если текущий символ - число
            dStack.push(*str - '0');        //добавляем его в стек
        str++;                              //следующий символ
    }
    unsigned long long digit = 0;           //результат
    int step = 1;                           //коефициент для умножения
    while(!dStack.empty())                  //пока стек не пуст
    {
        digit += dStack.top()*step;         //добавляем до результата значение верхушки стека, умноженное на коефициент 
        step *= 10;                         //следующий розряд
        dStack.pop();                       //удаляем верхушку стека
    }
    
    cout << digit << endl;                  //выводим результат
    return 0;
}
Yandex
Объявления
10.12.2011, 15:41     Задача на указатели и стек
Ответ Создать тему
Опции темы

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