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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как задать двумерный строковый-цифренный массив http://www.cyberforum.ru/cpp-beginners/thread403601.html
как задать двумерный строковый-цифренный массив и какие библиотеки при этом подключать?
C++ Решить уравнение A*x^2+B*y^2=C Помогите написать программу на С. Написать программу, выводящую все целочисленные решения уравнения A*x^2+B*y^2=C, лежащие в диапазоне от -1000 до 1000. Решения отсортировать по возрастанию сначала по х, а потом - по y. Вариант A=B=C=0 не рассматривается. Если решений нет выводит NO. Входной файл содержит три целых числа A,B,C. По модулю не больше миллиона. http://www.cyberforum.ru/cpp-beginners/thread403586.html
C++ Обход n-арного дерева
вопрос какой алгоритм использовать в плане КАК? знаю как хранить и как обходить, но алгоритм Лево Корень Право, а тут распечатывать корень каждый раз когда переходим к новой ветке? т.е. один элемент будет много раз печататься? Или использовать Корень, Лево, Право?
Наследование и стек C++
Добрый день! У меня есть базовый класс Base и 3 производных класса,необходимо теперь создать стек из элементов базового класса..Не могли бы вы мне помочь с этим! #include <iostream> using namespace std; class Base { protected: char * name;
C++ Не работает конструктор копирования http://www.cyberforum.ru/cpp-beginners/thread403570.html
Пишу свой класс матрица. В конструкторе копирования вылезла ошибка, решить которую мне не удается. Отладчиком проходился не один раз, не помогает. Вот написанный мною код //matrix.h #pragma once class matrix {
C++ Точность типа double Всем привет! У меня такой код,точность как видите страдает,так как мне нужно с точностью до 20 знака #include<iostream> #include<iomanip> using namespace std; int main() { double a = 0.001; cout << setprecision(20) << a << endl; подробнее

Показать сообщение отдельно
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
10.12.2011, 15:41
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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru